【文档说明】第七讲软件测试概要课件.ppt,共(22)页,96.722 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45234.html
以下为本文档部分文字说明:
第七讲软件测试概要软件测试是发现软件中错误和缺陷的主要手段,是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性,而检测软件错误、修正软件错误的过程。软件开发的目的是开发出实现用户需求的高质量、高性
能的软件产品,故软件测试应以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障。7.1软件测试的基本方法•静态测试和动态测试静态分析:运用人工分析和程序正确性证明方法对被测系统的设计文档或程序文档进行特性分析,检查设计和编码的正确性。动态分析
:通过执行程序并检查程序的执行状态进行程序测试,动态分析测试用例,依据软件设计的功能需求,设定输入条件和预期理论输出,比较测试输出和理论输出检测被测程序的正确性,包括内部程序结构的正确性和程序功能实现的正确性、完备性。•白盒测试和黑盒测试1、黑盒测试也叫功能测试、数据驱动测试或基于
规格说明的测试,不考虑程序内部结构和内部特性,依据该程序功能上的输入输出关系或程序的外部特征来设计和选择测试用例,从而推断程序的正确性。检测的基本内容:功能错误或遗漏输入输出接口的正确性数据结构或外部信息访问
错误性能要求实现情况初始化或终止性错误黑盒测试的基本方法:通过测试失败测试/迫使出错测试2、白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,完全了解程序的结构和处理过程,按照程序内部的逻辑测试程序,检测程序中的每条道路是否都能按预定要求工作。检测类别包括:程序
模块独立执行路径检测逻辑判断情况检测循环检测(循环边界及循环内执行情况)程序内数据结构的正确性3、ALAC(actlikeacustomer)复杂的软件产品总有许多错误,而缺陷和错误的查找及改正必须针对用户最容易
遇到的那些来进行。7.2软件测试过程•单元测试单独检测各模块,验证模块和详细设计是否一致,消除程序模块内部逻辑上和功能上的错误及缺陷•集成测试将已测试的模块组装进行检测,对照软件设计检测和排除子系统或系统结构上的错误集成方法:渐增式:自底向上增加、自顶向下增加非渐增式组合式•系统测试
检查软件系统运行时与其他相关要素(硬件、数据库、操作人员等)的协调工作情况是否满足要求。强度测试:检查程序对异常情况的抵抗能力性能测试:检查程序的响应时间、处理速度、精确范围、存储要求以及负荷等性能方面的满足情况。恢复测试:系统在软硬件故障后保存数据和控制并恢
复数据的能力安全测试:检查系统对于用户使用权限进行管理、控制和监督以防非法进入、篡改、窃取和破坏等行为的能力•确认测试在开发过程中或结束时评估系统或组成部分的过程,目的是判断该系统是否满足规定的要求。——IEEE/ANSI基本原理:测试是为了显示
错误的存在而非证明程序的正确测试的充分性问题避免使用未经计划、不能重复使用的测试用例测试用例应包括预期的输出或结果测试用例必须考虑无效和预期之外、有效和预期之内的输入条件。测试用例不能生成理想的输出条件,应从预计输出来设计除单元测试和集成测试外,程序开
发者或开发组织不应自己测试所开发的程序没有发现的错误数与已经发现的错误数成正比。确认测试的方法开发可以判断产品是否满足在需求规格说明中注明的用户需求的测试开发可以判断产品的实际行为是否按照功能设计规格说明中描述的那样与预期行为相
匹配的测试Α测试和β测试确认测试的注意事项:功能确认:以用户需求规格说明为依据,检查系统需求规定功能的实现情况配置确认:检查系统资源和设备的协调情况,确保开发软件的所有文档资料编写齐全,能够支持软件运行后的维护工作。7.3软件测试•软件测
试角色测试需求分析测试过程设计测试实现测试实施测试评价测试配置管理测试维护附表•软件测试环境——主测试环境、辅测试环境主测试环境:测试软件功能、安全可靠性、性能、易用性等大多数指标的主要环境。主测试环境配置可遵循以下策略:1)符合软件运行的最
低要求,保证能支持软件的正常运行;2)选用比较普及的操作系统和软件平台;3)营造相对简单、独立的测试环境,以免不相关的软件影响测试实施;4)无毒的环境。辅测试环境:用来满足不同的测试需求或特殊测试项目的辅
助测试环境。常见的特殊测试项目包括:1)兼容性测试2)模拟真实环境测试3)横向对比测试7.4面向对象的软件测试面向对象分析的测试面向对象设计的测试面向对象编程的测试面向对象单元测试面向对象集成测试面向对象系统测试•面向对象分析的测试1)对认定对象的测试2)对认定结构的测试3
)对认定主题的测试4)对定义的属性和实例关联的测试5)对定义的服务和消息管理的测试•面向对象设计的测试1)对认定的类的测试2)对构造的类层次结构的测试3)对类库的支持的测试•面向对象编程的测试1)数据成员是否满足数据封装的要求2)类是否实现了要求的功能•面向对象的单元测试最小的可测试单
位是封装的类和类的实例。•面向对象的集成测试基于线程的测试:集成对回应系统的一个输入或事件所需的一组类,每个线程被继承并分别测试,应用回归测试以保证没有产生副作用。基于使用的测试:从测试那些几乎不使用服务器类的类(独立类)开始构造系统;在独立类测试完毕后,对使用独立类的类(依赖
类)进行测试;测试下一层依赖类,如此循环完成整个测试序列一直到构造完整个系统。•面向对象的系统测试应参考OOA的结果,对应所描述的对象、属性和各种服务,检测软件是否能完全再现问题空间。•测试用例软件测试的核心任务是
生成和执行软件测试用例定义测试环境说明测试输入测试操作预期结果软件测试用例的配置管理标识和规范引用控制版本控制变更控制软件测试用例的组织测试用例可以依据某种原则(如被测对象的层次或测试类型)被划分为测试用例组;测试用例组又可以被划分为更高层次的测试用例组。软件测试用例的复用低层被测对象的测试用
例或其部分内容可以复用在高层被测对象的测试中。复用是有选择、有限和需要更改的。•设计测试方案设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能或性能,应输入的测试数据和预期的结果。设计测试方案的基本目标是确定一组最可能发现某个错误的测试数据。常用的设
计技术包括:黑盒测试、白盒测试黑盒测试等价类划分边界值分析错误推测白盒测试逻辑覆盖:语句覆盖、判定(分支)覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、边覆盖路径覆盖•测试方案设计策略1)任何情况下都应使用边界值分析方法;2)用等价类划分法补充测试方案;3)用错
误推测法补充测试方案;4)对照程序逻辑,检查程序逻辑,检查已经设计出的测试方案。•小结•作业:设计一个程序,要求输入三个整数作为三角形的三条边:A、B、C。当三条边不能构成三角形时提示错误,可以构成三角形时计算三角形周长;若是等腰三角形,则提示“等腰三角形”;若是等边三角形,则提示“等
边三角形”。画出程序流程图,对此设计一组测试用例,对该程序进行测试。