




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.7.2测试自动化是另一种软件测试工具,可以自动执行测试用例,发现软件缺陷,分析和记录测试结果。Test work bench(download CASE tool),源代码,预测器,测试管理器,文件比较器,报告测试数据生成器,规范,随机测试自动化工具: monkey tester,只要不停电,偶尔能得到香蕉,monkey就会永远测试,一个想法:“如果让一百万只猴子敲一百万年键盘,他们最终可能写出莎士比亚的剧本和其他伟大的作品。”猴子笨猴子:对测试软件一无所知,只是随意点击或按键,直到两种情况之一发生,完成周期或系统崩溃。不太愚蠢的猴子:有能力识别崩溃和重启系统开始测试。聪明的猴子:可以从它
2、愚蠢的兄弟那里得到随机的测试结果,这增加了对环境的认知能力,并且有目的地敲键盘。不仅要查找碰撞缺陷,还要查看数据,检查操作结果,找出与预期结果的差异。自动化测试工具的例子,美国国际软件自动化公司的C/C、J、Java和VB产品的全景图,自动化功能包括:软件结构分析和逻辑图自动化软件静态分析数据分析复杂性分析和分析结果列表自动化软件质量分析动态性能分析软件代码分支或条件覆盖分析软件测试用例有效性分析和自动选择测试用例最小集软件接口自动记录和自动重放手工操作过程, 6.8调试(纠错技术)测试是发现软件错误的过程,而调试是确定错误的位置、性质和纠正错误。 调试的难点在于错误定位、调试执行步骤、错误场
3、景、结果、执行案例、纠正、测试案例、调试、已识别原因、可疑原因、返回测试、附加测试、6.8.1调试策略和方法1。暴力常见形式: (1)打印出所有存储的内容和代码(2)打印程序中的语句(3)使用自动纠错工具以获得最低的效率,以及2。追溯方法(tracing method)根据错误症状的位置,沿着程序控制流手动追溯源代码。它适用于小型程序,并且在路径数量较大时无法执行。第三章。原因分析列出可能的原因,逐一排除,找出问题(1)尝试法(2)归纳法(3)演绎法(4)二分搜索法法(1)归纳法,收集相关数据,组织数据构建线索,研究线索关系,假设错误原因,证明假设不能证明线索关系,错误线索,可以,不能,(2)
4、演绎法,列出可能的错误原因,排除不会发生的原因,推断保留假设,证明左假设,确定错误, 未确定的错误原因、剩余的错误原因、can、错误原因,找出错误的本质并通过Return测试对其进行修改,以避免因修改而产生新的错误。 修改源程序。6.9测试中的可靠性分析。在开发过程中,利用测试的统计数据来评估软件的可靠性,以控制软件的质量。估计错误的频率,估计程序中剩余的错误数量,评估测试的准确性和覆盖范围,估计错误的频率(估计错误之间的时间间隔),1,k (et/it-EC (t)/it),并用方法3360估计平均故障时间(MTTF估计公式)。当故障率是一个与时间无关的常数:MTTF,K :经验常数ET :
5、程序IT :程序长度T :测试时间Ec(t):期间发现的错误总数0-t,1,=,程序中剩余的错误数被估计,错误植入模型Mills使用种子模型估计程序中的剩余错误。所述错误植入模型植入模型:n:程序中的原始剩余错误号nt:新植入的错误号n:在测试中发现的原始错误号nt :在测试中发现的植入错误号,n,n,n,t,t,n,n,n,n,n,n,t,t,t=, t, 海曼改进了错误植入模型ET:程序中的原始剩余错误数e1:一号测试人员在某一时间发现的错误数e2:二号测试人员在同一时间发现的错误数e03360两个测试人员共同发现的错误数e,e,e,1,0,=,2,t,e,t,e,1 7.1软件维护的概念
6、四种类型的维护活动:纠正性维护,适应性维护,扩展和完善维护,预防性维护, 三种维护的比例为33,360,其他维护为5%,适应性维护为25%,纠正性维护为20%,扩展和完善性维护为50%。 纠正性维护占总维护的比例从20世纪80年代初的20%大幅下降。20世纪90年代初,一些公司的产品错误率接近于零。各种维护活动的根本目的是延长软件寿命,而其他维护是4%。软件生命周期、软件诞生、规划、分析、设计、编码、测试、运行和维护(简称维护)改进期、稳定期、淘汰期、1年-10年、2个月-2年、重构、软件工程周期、7.2软件维护特性、M、P K、e=、(c-d)、M :维护工作量P :生产工作量K :经验常数
7、c :复杂性d :软件熟悉度的度量,7.2(2)很难跟踪软件创建过程。(3)很难读懂别人的节目。(4)无文件或不完整。(5)软件人员流动性大。(6)设计时未考虑修改的需要,修改困难。(7)维修工作缺乏吸引力,缺乏成就感。7.3软件维护任务、和修改负责人。配置管理员、7.3.1维护组织、维护人员、维护管理员、7.3.2保存维护记录,制作维护期间应记录的数据、程序标识、源程序语句号、机器代码指令号.根据收集的数据构建维护数据库,用于维护评估,7.4软件维护的实施,7.4.1修改源程序的三个步骤分析和理解程序修改程序重新验证程序,7.4.2修改程序的副作用,修改代码的副作用,修改数据的副作用和修改文
8、档的副作用,7.4.3重新验证程序,1。静态确认2。计算机确认3。维护后的验收,从维护角度要求的测试类型:(1)测试修改的事务(2)测试修改的程序(3)测试操作过程(4)测试应用系统的运行过程(5)测试使用过程(6)测试系统各部分之间的接口(7)测试与系统软件的接口(8)测试安全性(9)测试备份/恢复过程,7.5软件可维护性7.5.5测量软件质量的几个主要质量特征:可维护性、可维护性和可靠性、7.5.2可维护性测量、7个测量程序可维护性的特征、各种维护中的重点、纠正性维护、适应性维护、完美维护、可理解性、可测试性、可修改性、可靠性、可移植性和可用性效率、7.6提高可维护性的方法、建立明确的软件
9、质量目标和优先级、使用技术和工具来提高软件质量、进行明确的质量保证评审、选择可维护的编程语言、改进程序的文档编制以及在开发软件时考虑维护。7.7预防性维护,开发人员和维护人员不应该等待用户的维护应用。以下类型的程序可被选为预防性维护对象: (1)预计在几年内将继续使用的程序(2)目前正在成功使用的程序(3)在不久的将来将被大大修改和改进的程序,7.8软件重新设计,7.8.1什么是软件重用中的软件重新设计?问题是与现有系统密切相关的现有软件系统,如:如何适应当前技术的发展和需求的变化。由于技术的发展,大量现有的遗留软件系统逐渐退出使用。如何挖掘和整理这些系统并获得有用的软件组件?随着时间的推移,
10、现有的软件组件将逐渐变得不可用。如何维护它们以延长它们的寿命并充分利用这些可重复使用的组件?软件再工程是解决上述问题的主要技术手段。软件再工程是一种软件工程活动和工程过程,它将逆向工程、重构和正向工程相结合,将现有系统重构为一种新的形式。重新设计的基础是系统理解,包括对操作系统、源代码、设计、分析、文档等的全面理解。然而,在许多情况下,由于各种文档的丢失,只有源代码可以理解,即程序理解。它可以使我们:提高我们对软件的理解;提高软件本身的可维护性、可重用性或进化性。软件再工程过程模型、代码重构、数据重构、正向工程、库存分析、文档重构、逆向工程、逆向工程、逆向工程(reverse engineer
11、ing)从现有软件中恢复设计信息(有用的维护信息)以及设计恢复过程。非结构化和未记录的源代码或目标代码、软件的所有文档、软件再造相关术语之间的关系、信息数据库、1类视图:非过程描述、元描述示例:规范、3类视图:过程描述示例:源程序、再造、2类A2视图:分析、再造、逆向工程设计复原再造、逆向工程设计复原再造、A1类视图:分析、A3类视图:分析、分解、合成成视图、软件视图软件视图是相关软件的表达式或报告;视图分类:一级视图:二级视图:三级视图:一级视图:上述类型的分析视图;A1类视图是1类视图的分析信息;A2类视图是关于2类视图的分析信息;A3类视图是从3类视图中获得的。、软件视图示例、信息库、视
12、图编辑器、DFD、视图编辑器、Petri网、视图编辑器、ERA图表、视图编辑器、跟踪矩阵、ReQ1流程图、视图编辑器、规范、再造信息库及其产品、软件文档、分析结果、信息库和设计结果软件的新视图、解析器、语义分析器、视图合成器、信息库、其他产品、通过再造过程获得的信息、格式图形文档的度量值的逻辑报告、7.8.2软件再造技术、再造项目的相关技术、重写、注释、 更新文档重用工程,重新划分模块数据,重新设计业务流程,重新设计可维护性分析,业务量分析,经济分析,理解软件,改进软件,获取,保存和扩展软件知识,分解逆向工程,恢复设计对象,恢复程序,理解知识库和转换,浏览和分析,测量逆向工程,恢复设计,1。
13、改进软件,(1)重构软件使其变得容易。重构是实现软件重组全自动化的第一步。源程序,重构源程序,逻辑格式图形文件测量报告,重构器,可用信息,重构器,软件重构示意图,1。改进软件,(2)重写、注释和更新文档和信息源:源程序设计数据规范变更记录管理人员。文档:嵌入式注释设计数据规范测试数据层次结构图,检查:重新测试插入注释以生成图形生成报告,文档重写图,1。改进软件,3 .重用工程:目的是修改软件使其更容易重用,然后解释重新生成分类证书的过程,以添加搜索描述信息,通过重新设计、应用问题、组件和可重用组件来搜索和重用软件。可重用库:可以重用源程序,重用,重新设计,提取,2。理解软件,(1)浏览,(2)
14、分析和测量重要的方法来理解程序特征(如复杂性)。与重新设计相关的技术:程序分段控制流复杂性测量耦合测量(3)逆向工程和设计恢复,逆向工程恢复信息层: (1)诸如抽象语法树和实现层:中的程序符号表的信息;(2)诸如反映在结构层:中的程序组件的调用图和组成图的信息;(3)反映在功能级:中的程序段功能和段之间关系的信息;(4)反映在领域级别:中的程序组件和适用领域概念之间的对应关系的信息。信息的抽象程度越高,离代码越远,通过逆向工程恢复就越困难,自动工具支持的可能性就越小。逆向工程,源程序,目标代码,反汇编和反编译程序分析技术:程序结构分析工具程序功能分析工具,源程序,概要设计,详细设计,概要设计,需求分析,3。获取、保存和扩展软件知识,(1)通过分解从程序中找到对象和关系,并将它们存储在信息库中。例如,UNIX中的lex和yacc。(2)从源程序中恢复对象,并将非面向对象的程序改为面向对象的程序。(3)理解程序。(4)改造知识库和程序,这是再造的核心活动。重组是将一个软件视图的信息转换成同一视图或前一视图上的另一个视图的信息。转换也是逆向工程和设计修
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省信丰县2025届初三第二学期学分认定考试化学试题含解析
- 陕西省榆林市米脂县重点中学2025年初三第二次模拟考试试卷英语试题含答案
- 来凤县2025年数学三下期末经典模拟试题含解析
- 江西工业职业技术学院《全球化与企业文化》2023-2024学年第一学期期末试卷
- 江苏省盐城市大冈初中市级名校2024-2025学年初三质量检测试题(三)英语试题含答案
- 江苏省苏州市太仓达标名校2025年初三5月月考(一轮检测试题)语文试题含解析
- 互联网时代的亲子教育
- DB32/T+5096-2025+汽车充(换)电站雷电防护装置检测技术规范
- 邯郸市高三下学期第一次模拟考试理综生物试题
- 销售年终述职与总结报告(素材15篇)
- 教育政策的国际比较研究-深度研究
- 生活垃圾焚烧处理厂垃圾焚烧炉设计方案
- “趣”破“蛐蛐”小妙招社交魔法课主题班会
- 快递小哥交通安全课件
- 2025年青海能源投资集团有限责任公司招聘笔试参考题库含答案解析
- 2025年河南建筑职业技术学院单招职业技能测试题库审定版
- 2026年版广西高等职业教育考试(新职教高考)新闻传播大类《摄影摄像》模拟试卷(第1套)
- 山东省烟台市第二中学等校2021-2022学年高二下学期期中考试历史试题(原卷版)
- DB14-T 2779-2023 营造林工程监理规范
- 学校行政管理中的沟通艺术与效率
- 二零二五版风力发电工程监理服务合同示范文本3篇
评论
0/150
提交评论