软件测试基础(第二、三讲)

软件测试基础(第二、三讲)

ID:46584387

大小:1.54 MB

页数:69页

时间:2019-11-25

软件测试基础(第二、三讲)_第1页
软件测试基础(第二、三讲)_第2页
软件测试基础(第二、三讲)_第3页
软件测试基础(第二、三讲)_第4页
软件测试基础(第二、三讲)_第5页
资源描述:

《软件测试基础(第二、三讲)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二讲软件测试基础主讲人:张伟软件过程模型所谓软件过程模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范形,使工程的进展达到预期的目的。瀑布模型原型模型增量模型螺旋模型瀑布模型整个开发包括六个阶段:问题定义与可行性分析(计划)、需求分析、设计、编码、测试、运行维护。六个阶段自上而下、相互衔接,以固定的次序来进行。特点阶段的顺序性和依赖性推迟实现的观点质量保证存在问题完全依赖文档,很可能导致最终开发的软件不能满足用户需要快速原型模型快速建立一个能反映用户主要需求的原型系统,用户试用它并提出修改意见,开发人员按照意见修改原型系统,然后重复让用户试用…,一

2、旦用户认为这个原型系统满足用户要求,即开始设计规格说明书。使用原因:在项目开发的初期对软件的需求认识不够清晰,使项目难于做到一次成功.特点1.快速开发2.可获知用户的真正需求,使开发的系统满足用户的需求,也减少了后期的维护的成本(不需要大返工)。3.一旦需求确定了,原型就可以被弃增量模型增量模型中,在每个阶段都生成软件的一个可发布版本。这些阶段是交错进行的。在增量模型中,软件版本是逐步完善的。在原型中,每个阶段是发布一个原型,而在增量模型中,是完成一个正式的版本。螺旋模型螺旋模型将瀑布模型和快速原型模型结合起来,并且加入了两种模型均忽略的风险分析。螺旋模型的每一周

3、期都包括制定计划、风险分析、实施工程和评审四个阶段。软件测试简介软件测试是软件工程过程中的关键组成部分。软件开发中,在需求、设计、编码阶段都有可能发生错误。软件测试就是为了发现程序中的错误而分析或执行程序的过程。软件测试是软件质量保证的重要手段。软件测试的价值防止质量灾难的发生。[编程大师说:没有错误的程序世间难求。(《编程之道》)]确保软件满足用户的需求(功能性,非功能性…)确保软件符合质量标准(国家,行业,企业…)质量灾难的典型例子千年虫年份用两位去表示引发歧义。爱国者导弹误差导致距离偏差阿里亚娜火箭发射失败…….软件测试的目的发现软件中的缺陷,(包括需求、设

4、计的缺陷和程序中bug)检查软件是否满足用户的需求。注意:软件测试的目的不是证明软件没有缺陷的,实际上这个证明是完全不可能的。GlenMyers提出关于软件测试的目标测试是一个为了寻找错误而运行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。GlenMyers提到的目标已经不能完全描述如今的软件测试所要达到的目标,如今的软件测试目标是:尽可能多的发现软件中的错误和缺陷,对软件质量进行度量和评估以提高软件质量,并检验软件系统是否满足用户需求。对测试工作的误解(理解)1、测试和调试是一回事2

5、、对软件可以进行穷举测试a.输入条件太多b.输入条件的组合太多c.程序中路径太多c.程序中潜在的错误和缺陷3、软件有缺陷,是测试人员的失职4、关注测试执行而忽视测试用例设计测试用例是由前提条件和操作步骤、预期结果、实际结果等构成。在对软件进行测试时,需要:构造测试用例执行测试用例,检查结果是否与期望的输出一致在编写测试用例时,需要以软件需求为依据。为什么不可能做穷举测试M1D1D2D3D4M2M3M4M5M6M7D5<=20次循环次数012……20独立路径数51+52+53+……+521≈1014(1百万亿)每个测试用例(考虑、执行、验证结果)5分钟共需测试时间1

6、0亿年为什么不可能做穷举测试程序PXYZ若X、Y为所有可能的整数在字长32位机上测试X1、Y1Z1...Xn、YnZnn=232232=2641.841019软件工程教材对测试工作的误解(理解)5、测试比编程容易得多。6、测试是编码之后进行的工作7、测试自动化是万能的。自动化测试就是将测试行为输入到机器中,让机器测试代替人为测试的一种测试行为。如功能自动化测试工具winrunner。8、软件测试是一种破坏性的工作9、测试的目的在于证明软件的正确性软件测试国外现状(了解)1、软件测试在很多高校和研究机构作为一个单独的学科去研究。2、软件测试在软件公司尤其是

7、大型公司受重视3、测试工具比较发达软件测试国内现状(了解)1、国家、高校和公司越来越关注软件测试理论的研究和测试人员的培养。2、第三方测试机构的重要性越来越体现出来。3、各种测试职业培训机构涌现,为软件测试行业培养了大量的人才。软件发展的趋势(了解)1、软件测试成为一个完全独立的流程,贯穿与软件开发的每个阶段,使每个阶段都是可测试的。2、面向对象软件、分布式、实时系统的测试理论不断发展。3、软测人员的地位提高。4、三方测试迅速发展。软件测试定义软件测试定义(1983,IEEE):使用人工或自动手段来进行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄

8、清预期结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。