软件测试与维护.ppt
《软件测试与维护.ppt》由会员分享,可在线阅读,更多相关《软件测试与维护.ppt(58页珍藏版)》请在三一办公上搜索。
1、软件测试,软件测试的基本概念软件测试过程软件测试用例设计面向对象测试软件调试自动测试工具软件可靠性评估,软件测试目标,软件测试的目标就是发现软件中隐藏的错误。由于对软件测试的目标存在一些错误认识和做法,G.Myers给出了关于软件测试目标的一些规则说明:(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。组织专门的测试小组时,程序的编写者不适合对自己编写的程序进行确认测试(程序调试除外)。,软件测试是贯穿于软件开发过程始终的一个活动,由测试计划、单元测试、集成测试、系统测试、验收测试组成。一、测试计
2、划:作为软件项目计划的子计划,在项目启动初期就开始进行规划,在项目进行的各阶段可以同步进行相应的测试计划的编制。需求分析阶段开始编制系统测试和验收测试的计划系统设计阶段编制集成测试计划编码的同时编制单元测试计划二、单元测试:依据详细设计说明书,测试某个模块是否满足规定的功能,是整个软件测试过程中最基本的活动。多采用白盒测试技术。,软件测试过程,单元测试的主要任务:模块接口测试局部数据结构测试路径测试错误处理测试边界测试单元测试方法:单元测试通常在编码阶段进行,使用一些辅助模块去模拟与被测模块相联系的其它模块。辅助模块主要有驱动模块和桩模块。(1)驱动模块:相当于调用被测模块的主程序。(2)桩模
3、块:用来代替被测模块需要调用的子模块。,三、集成测试:在单元测试的基础上,承担对系统进行组装与检测的双重任务,是软件测试活动中最重要的部分。主要有非渐增组装测试和渐增组装测试两种方法。具体测试任务连接各模块时,穿越模块接口的数据是否会丢失。一个模块的功能是否对另一个模块的功能产生不利影响。各子模块组合起来,能否达到预期的协作功能。全局数据结构是否有问题。单个模块的计算误差积累起来,是否会放大进而达到不能接受的程度。,非渐增组装测试:先完成单元模块的确认测试,然后将所有模块按设计要求组合成系统,再进行测试。测试过程中发现的问题断定出错的位置和出错的原因。渐增组装测试:把所有需要集成到系统中的模块
4、按照一定的次序,逐个集成到系统中去,并在进行模块间协作性测试的同时对模块的功能进行确认测试。渐增组装测试的优点:利用已测试过的模块作为部分测试软件,减少测试工作量。能够较早发现模块间的接口错误。发生的错误往往和最近加进来的模块有关,便于错误诊断与定位。先加入系统的模块不断在新的条件下受到新的检测,对程序的测试更彻底。,渐增组装测试的方法:自顶向下、自底向上。自顶向下渐增组装测试:从主控模块开始,沿着软件的控制层次向下移动,从而逐个地把各个模块集成到系统中来。在这种方法中不需要“驱动模块”,需要“桩模块”。自底向上渐增组装测试:从软件结构的最底层模块开始组装。在这种方法中不需要“桩模块”,需要“
5、驱动模块”集成测试结束标准:成功执行了测试计划中规定的所有集成测试修正了所发现的错误,并成功地进行了再次测试。所有集成测试文档齐全。测试结果通过了专门小组的评审。,四、确认测试确认测试又叫有效性测试或验收测试。任务是按照软件需求规格说明书的要求,验证软件的功能、性能以及其它特性等是否与用户的要求保持一致,并得到用户确认。,1、有效性测试:用黑盒测试法确定软件是否满足需求规格说明书的要求。2、软件配置复查:保证软件配置的所有成分齐全,并已编排好分类的目录。3、Alpha测试:在开发环境下由用户进行测试,并作出全面的评价,开发者在场。4、Beta测试:由用户在软件实际使用环境下进行测试,开发者不在
6、场。5、测试结果确认,交付相应文档。,五、测试方法软件测试最基本的方法是黑盒测试法和白盒测试法。1、黑盒测试法:是基于程序外部功能规格而进行的测试,又叫功能测试法。将待测试的模块当作一个黑盒子,只对模块接口处的输入输出数据进行测试。黑盒测试一般以程序模块为单位进行,适合于对程序模块的确认测试,系统集成测试和用户验收测试。,2、白盒测试法:是基于程序的内部结构与处理过程而进行的测试,又叫结构测试。白盒测试的内容是程序的内部算法细节。3、测试中的信息流:,软件测试用例设计,一、白盒测试用例设计白盒测试用例设计主要采用的是逻辑覆盖,以程序内部逻辑结构为依据的用例设计方法。包括语句覆盖、判断覆盖、条件
7、覆盖、判断条件覆盖、条件组合覆盖、路径覆盖等。,1、语句覆盖:被测程序中每个语句至少执行一次。测试用例:a=2,b=0,x=4 执行路径:1-2-3-4-5-6-72、判定覆盖:不仅被测程序中每个语句至少执行一次,而且每个判定的每种可能的结果至少执行一次。测试用例:a=3,b=0,x=4 执行路径:1-2-3-4-5-6-7 判断式:T,Fa=2,b=1,x=1 执行路径:1-2-4-6-7 判断式:F,T,3、条件覆盖:不仅被测程序中每个语句至少执行一次,而且判定表达式中的每个条件都取到各种可能的结果。用例:a=2,b=0,x=4 执行路径:1-2-3-4-5-6-7 条件式:T,T,T,T
8、a=1,b=1,x=1 执行路径:1-2-4-5-6-7 条件式:F,F,F,F,二、黑盒测试用例设计 1、等价类划分:把所有可能的输入数据划分出若干个等价类,每个等价类中的一个典型值在测试过程中与该等价类中所有的其它值的作用相同。如输入百分制的成绩,输出等级制成绩。录入数据100 测试结果:无效成绩录入数据0 测试结果:无效成绩0=录入数据60 测试结果:不及格60=录入数据70 测试结果:及格70=录入数据80 测试结果:中80=录入数据90 测试结果:良90=录入数据100 测试结果:优测试用例:102,10,30,65,74,86,93,2、边界类分析:在边界处设计专门的测试用例,用于
9、验证程序运行在边界时是否发生错误。如根据上例可设计测试用例为:1,0,59,60,69,70,79,80,89,90,100,101 3、错误推测:测试人员凭借测试经验和直觉,例举出程序中可能有的错误和容易发生错误的特殊情况来选择测试用例。,面向对象测试,1、面向对象单元测试此时的“单元”不再是程序模块的概念,而是以类为单位,把操作作为类的一部分进行测试 2、面向对象集成测试(1)基于线程的测试:把响应系统的一个事件所需要的一组类集成为一个线程,分别集成并测试每个线程,同时进行回归测试。(2)基于使用的测试:先测试独立类,再按层次测试依赖类,直到构造出整个系统。3、面向对象确认测试测试的主要内
10、容是用户可见的动作和用户可识别的输出,不需考虑类的构造及类之间的联系。,软件调试,软件调试也叫排错,涉及两个步骤:1、诊断:确定错误的位置和性质。2、排错:修改程序,改正错误。一、调试方法 1、输出存储器内容。2、在程序中插入输入输出语句。3、使用自动调试工具。二、调试策略 1、试探法:猜测故障可能的大致位置进行试探,以获得程序错误的准确定位。2、回溯法:确定最先发现错误的位置,沿程序控制流程往回追踪源程序代码,找出程序错误的准确位置。3、对分查找法:与二分查找排序算法一致。4、归纳法:以程序的错误征兆为线索,分析这些线索之间的关系,找出故障。5、演绎法:先列出所有可能成立的原因或假设,逐个排
11、除。,自动测试工具,常见的自动测试工具:1、测试数据生成程序 2、动态分析程序 3、静态分析程序 4、模块测试程序 5、集成环境测试,软件可靠性评估,一、可靠性概念 1、软件可靠性:在给定的时间间隔内,程序按照规格说明书成功运行的概率。2、软件可用性:在给定的时间点,程序按照规格说明书成功运行的概率。一般使用稳态可用性对系统进行评估:Ass=MTTF/(MTTF+MTTR)MTTF为系统平均无故障时间,MTTR为系统平均维修时间。估算系统平均无故障时间及系统故障总数略。,软件维护,软件维护的概念软件可维护性软件维护的实施对老化系统的维护逆向工程与再工程软件配置管理,软件维护的概念,软件维护的定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 维护
链接地址:https://www.31ppt.com/p-6349140.html