欢迎来到天天文库
浏览记录
ID:46883120
大小:297.00 KB
页数:97页
时间:2019-11-28
《软件开发流程实训教程 第7章 软件测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章软件测试【本章引言】在软件开发流程中,软件测试阶段就是软件质量保证的关键步骤。在软件投入运行前,对软件需求分析、设计规格说明和编码等软件生命周期的各个阶段进行最终复审。【教学目标】了解软件测试流程和方法;熟悉测试用例的概念和编写样式;掌握测试报告设计方法和书写标准;灵活运用黑盒测试、白盒测试的各种具体策略进行实例设计。第七章软件测试7.1软件测试概述7.2软件测试与软件开发流程的关系7.3软件测试方法划分7.4黑盒测试的相关方法7.5白盒测试的相关方法7.6软件测试流程的各个阶段7.7测试用例设计7.1软件测试概述1.软件测试的定义通常对软件测试的定义有如下描述:软件测试是为了发现程
2、序中的错误而执行程序的过程。具体说,它是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。正确认识测试的目的是十分必要的,只有这样,才能设计出最能暴露错误的测试方案。此外,我们应该认识到:测试只能证明程序中错误的存在,但不能证明程序中没有错误。因为即使经过了最严格的测试之后,仍然可能还有没被发现的错误存在于程序中,所以说测试只能查出程序中的错误,但不能证明程序没有错误。7.1软件测试概述2.软件测试的目标软件测试工作是非常必要的,测试的目的就在于在软件投入运行之前,尽可能多地发现软件中的错误。软件测试是对软件规格说明、设计
3、和编码的最后复审,是软件质量保证的关键步骤。实现这个目的关键是如何合理地设计测试用例,在设计测试用例时,要着重考虑那些易于发现程序错误的方法策略与具体数据。综上所述,软件测试的目的包括以下三点:(1)测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。(2)检查系统是否满足需求,这也是测试的期望目标。(3)一个好的测试用例在于发现还未曾发现的错误;成功的测试是发现了错误的测试。7.2软件测试与软件开发流程的关系1.测试与软件开发各阶段的关系软件开发过程是一个自顶向下,逐步细化的过程,首先在软件计划阶段定义了软件的作用域,然后进行软件需求分析,建立软件的数据
4、域、功能和性能需求、约束和一些有效性准则。接着进入软件开发,首先是软件设计,然后再把设计用某种程序设计语言转换成程序代码。而测试过程则是依相反的顺序安排的自底向上,逐步集成的过程,低一级测试为上一级测试准备条件。此外还有两者平行地进行测试。如图7-1,首先对每一个程序模块进行单元测试,消除程序模块内部在逻辑上和功能上的错误和缺陷。再对照软件设计进行集成测试,检测和排除子系统(或系统)结构上的错误。随后再对照需求,进行确认测试。最后从系统全体出发,运行系统,看是否满足要求。7.2软件测试与软件开发流程的关系2.试与开发的并行性在软件的需求得到确认并通过评审后,概要设计工作和测试计划制定设计工
5、作就要并行进行。如果系统模块已经建立,对各个模块的详细设计、编码、单元测试等工作又可并行。待每个模块完成后,可以进行集成测试、系统测试。并行流程如图7-2所示。3.测试与开发模型软件测试不仅仅是执行测试,而是一个包含很多复杂活动的过程,并且这些过程应该贯穿于整个软件开发过程。在软件开发过程中,应该什么时候进行测试,如何更好地把软件开发和测试活动集成到一起?其实这也是软件测试工作人员必须考虑的问题,因为只有这样,才能提高软件测试工作的效率,提高软件产品的质量,最大限度地降低软件开发与测试的成本,减少重复劳动。如图7-3所示,即为软件测试与开发的完整流程。7.2软件测试与软件开发流程的关系图7
6、-1软件测试与软件开发过程的关系7.2软件测试与软件开发流程的关系图7-2软件测试与软件开发的并行性7.2软件测试与软件开发流程的关系图7-3软件测试与开发的完整流程7.3软件测试方法划分软件产品种类繁多,测试过程千变万化,为了能够找到系统中绝大部分的软件缺陷,必须构建各种行之有效的测试方法与策略。软件测试是一系列按照预先计划设计测试用例,运用测试用例进行测试的活动。现在有许多测试方法可以运用,根据测试方法编写相关的测试用例。这样测试方法就是测试用例的模板,也可以说是整个软件测试活动的模板。7.3软件测试方法划分图7-4静态测试与动态测试的比喻图7.3软件测试方法划分(1)静态测试静态方法
7、的主要特征是在用计算机测试源程序时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。因此,静态方法常称为“分析”,静态分析是对被测程序进行特性分析的一些方法的总称。所谓静态分析,就是不需要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。(2)动态测试动态方法是通过源程序运行时所体现出来的特征,来进行执行跟踪、时间分析以及测试覆盖等方面的测试。动态测试
此文档下载收益归作者所有