- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程
第14章软件测试策略
主要内容
软件测试的策略性方法
策略问题
传统软件的测试策略
面向对象软件的测试策略
确认测试
系统测试
调试技巧
小结
软件测试策略
软件测试的目的是为了发现软件设计和实
现过程中的疏忽所造成的错误。但是,如
何进行测试?是否应该制定正式的测试计
划?是应该将整个程序作为一个整体来测
试,还是应该只测试其中的一部分?当向
一个大型系统加入新的构件时,是否需要
重新测试已经测过的部分?什么时候需要
客户参与测试工作?当制定测试策略时,
就需要回答上述及其他一些问题。
软件测试策略
测试所花费的工作量经常比其他任何软件
工程活动都多。若测试是无计划地进行,
既浪费时间,又浪费不必要的劳动。甚至
更糟的是,错误会依然存在。因此,为测
试软件建立系统化的测试策略是合情合理
的。
软件测试策略
测试从“小规模”开始,进展到“大规
模”。这意味着,早期的测试关注单个构
件或相关的一小组构件,利用测试发现构
件中的数据和处理逻辑错误。当单个的构
件被测试完后,需要将构件集成直到建成
整个系统。这时,执行一系列的高阶测试
以发现在满足顾客需求方面的错误。随着
错误的发现,必须利用调试过程进行诊断
和纠正。
软件测试策略
测试规格说明是将软件测试团队的测试具
体作法文档化。这主要包括制定描述整体
策略的计划、定义特定测试步骤的规程以
及规定将要进行的测试。
通过在测试进行之前评审测试规格说明,
可以评估测试用例以及测试任务的完整性。
有效的测试计划和规程将导致软件的有规
则地构造,并且能够发现构造过程中各个
阶段引入的错误。
软件测试策略
软件测试策略将软件测试用例的设计方法
集成到一系列经周密计划的步骤中去,从
而使软件构造成功地完成。测试策略提供
以下方面的路线图:描述将要进行的测试
步骤,这些步骤计划和执行的时机,需要
多少工作量、时间和资源。因此,任何测
试策略都必须包含测试计划、测试用例设
计、测试执行以及测试结果数据的收集与
评估。
软件测试的策略性方法
测试是可以事先计划并可以系统地进行的
一系列活动。因此,应该为软件过程定义
软件测试模板,即将特定的测试用例设计
技术和测试方法放在一系列的测试步骤中
去。
为完成有效的测试,软件团队应该进行有
效的、正式的技术评审。通过评审,许多
错误可以在测试开始之前排除。
测试开始于构件层,然后向外“延伸”到
整个基于计算机系统的集成。
软件测试的策略性方法
不同的测试技术适用于不同的时间点。
测试由软件开发人员和(对大型项目而言)独立的测试
组执行。
测试和调试是不同的活动,但任何测试策略中都必须包
括调试。
软件测试策略必须提供用来验证小段源代码是否正确实
现的必要的低级测试,以及用来确认系统的主要功能是
否满足用户需求的高级测试。软件测试策略必须为专业
人员提供工作指南,同时,为管理者提供一系列的里程
碑。由于测试策略的步骤是在软件完成的最后期限的压
力已逐步呈现的时候才开始进行的,因此,测试的进度
必须是可测量的,应该让问题尽可能早地暴露。
验证与确认
软件测试是通常所讲的更为广泛的主题——
验证与确认的一部分。验证是指确保软件正
确地实现某一特定功能的一系列活动。确认
则指的是确保开发的软件可追溯到用户需求
的另外一系列活动。[BOE81]用另一种方式
说明了这两者的区别:
验证:我们在正确地构造产品吗?
确认:我们在构造正确的产品吗?
验证和确认包含了广泛的SQA活动,其中包
括正式技术评审、质量和配置审核、性能监
控、仿真、可行性研究、文档评审、数据库
评审、算法分析、开发测试、易用性测试、
合格性测试、验收测试以及安装测试。
验证与确认
测试确实为软件质量的评估提供最后的防线。
在软件工程的整个过程中,质量体现在软件之中。
在测试过程中,方法和工具的正确运用、有效的
正式技术评审、稳固的管理与测量,都有助于得
到让人认可的质量。
[MIL77]将软件测试和质量保证联系在一起,
他认为:“无论是大规模系统还是小规模系统,
程序测试的根本动机都是使用经济且能有效应用
的方法来认可软件质量。”
软件测试的组织
对每个软件项目而言,在测试开始时总会
在不同人员之间存在认识上的差异。这时
要求开发软件的人员对该软件进行测试。
从心理学的观点
文档评论(0)