《《软件工程教学课件》软件测试的基本概念和方法.ppt》由会员分享,可在线阅读,更多相关《《软件工程教学课件》软件测试的基本概念和方法.ppt(21页珍藏版)》请在三一办公上搜索。
1、穆海伦,软件测试与质量保证,第二章 软件测试的基本概念和方法,Phone:612617E-mail:Helen_QQ:1055874556QQ群:3535508,2.3软件测试的基本方法,根据G.J.Myers观点-软件测试的目的:软件测试是为了发现错误而执行程序的过程 一个好的测试能够在第一时间发现程序中存在的错误 一个好的测试是发现了至今尚未发现的错误的测试。,软件测试是质量控制的重要手段,保证客户拿到或用户使用高质量的软件产品,软件测试误区,误区一:如果发布出去的软件有质量问题,都是软件测试人员的错 误区二:软件测试技术要求不高,至少比编程容易多了 误区三:有时间就多测试一些,来不及就少
2、测试一些 误区四:软件测试是测试人员的事,与开发人员无关 误区五:根据软件开发瀑布模型,软件测试是开发后期的一个阶段,软件测试的原则,所有测试的标准都是建立在用户需求之上。软件测试必须基于“质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。穷举测试是不可能的。甚至一个大小适度的程序,其路径排列的数量也非常大,因此,在测试中不可能运行路径的每一种组合。,软件测试的原则(2),第三方进行测试会更客观,更有效。软件测试计划
3、是做好软件测试工作的前提。测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。对发现错误较多的程序段,应进行更深入的测试。一般来说,一段程序中已发现的错误数越多,其中存在的错误概率也就越大。重视文档,妥善保存一切测试过程文档(测试计划、测试用例、测试报告等),软件测试的原则(3),应当把“尽早和不断地测试”作为测试人员的座右铭 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见 测试应从“小规模”开始,逐步转向“大规模”。不可将测试用例置之度外,排除随意性。必须彻底检查每一
4、个测试结果。一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系 对测试错误结果一定要有一个确认的过程。,测试方法,黑盒子和白盒子 静态的和动态的 文档、代码审查 数据输入边界条件法 等价划分、数据流程图 状态变换图 逻辑路径法,黑盒子和白盒子,功能测试数据驱动测试,结构测试逻辑驱动测试,静态的和动态的,运行程序,自动测试和手工测试,手工模拟用户操作,验证和确认(V&V),Verification:Are we building the product right?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。验证产品满足规格设计说明书的一致
5、性Validation:Are we building the right product?是否构造了正是用户所需要的软件?即是否正在做正确的事。验证产品所实现的功能是否满足用户的需求,2.4 软件测试的分类和阶段,软件测试分类,软件测试阶段,测试阶段(SDLC),单元测试,单元测试的对象是程序系统中的最小单元-模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。多个模块可以平行地、对立地测试,通常要编写驱动模块和桩模块单元测试一般由编程人员和测试人员共同完成,
6、集成测试,集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题 两种集成方式:一次性集成方式和增殖式集成方式。,功能测试,功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用,系统测试,系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等,验收测试&安装测试,验收测试的目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样安装测试是指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用环境中,进行一步一步的安装操作性的测试,Q&A,