欢迎来到天天文库
浏览记录
ID:43805199
大小:1.02 MB
页数:93页
时间:2019-10-14
《第7章软件测试技术 - PowerPoint プレゼンテーション》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章软件测试技术7.1软件测试概述7.2软件测试技术7.3软件调试技术7.4系统测试7.1软件测试概述软件测试的必要性例子:从键盘输入两个正整数,然后输出二者之和。开始结束sum=a+b输入:两正整数到a和b输出:sum7.1.1软件测试的目的软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。GlenfordJ.Myers认为软件测试的目的是:(1)测试是一个为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序没有错误;(3)一个好的测试用例在于它能发现至今未发现的错误。(4)一个成
2、功的测试是发现了至今未发现的错误的测试。以查找错误为中心7.1.2软件测试的基本原则(1)尽早并不断地进行软件测试。软件开发的各阶段都应当进行测试。错误发现得越早,后阶段耗费的人力、财力就越少,软件质量相对就高一些。图变更代价随时间变化的趋势示意(2)程序员应避免测试自己的程序。测试是为了找错,而程序员大多对自己所编的程序存有偏见,总认为自己编的程序问题不大或无错误存在,因此很难查出错误。此外,设计机构在测试自己程序时,由于开发周期和经费等问题的限制,要采用客观的态度是十分困难的。从工作效率来讲,最好由与原程序无关的程序员进行测试。(3)测试用例应包括合理的输入条件和不合理的输入条件。在
3、设计测试用例时,不仅要有合法的输入测试用例,还要有非法的输入测试用例。在软件的实际使用过程中,由于各种因素的存在,用户可能会使用一些非法的输入,比如常会按错键或使用不合法的命令。对于一个功能较完善的软件来说,不仅当输入是合法的时候能正确运行,而且当有非法输入时,也应当能对非法的输入拒绝接受,同时给出对应的提示信息。(4)测试用例应包括输入数据和预期的输出结果两部分。测试前应当设定合理的测试用例。测试用例不仅要有输入数据,而且还要有与之对应的预期结果。如果在程序执行前无法确定预期的测试结果,由于人们的心理作用,可能把实际上是错误的结果当成是正确的。(5)全面检查每个测试结果这条重要的原则时
4、常被人们忽视。不仔细、全面地检查测试结果,就会使得有错误征兆的输出结果被漏掉。(6)严格按照测试计划来测试。测试计划内容应包括:所测软件的功能、输入和输出、测试内容、各项测试的进度安排、资源要求、测试资料、测试工具、测试用例的选择、测试的控制方式和过程、系统组装方式、跟踪规程、调试规程、回归测试的规定以及评价标准等。(7)充分注意测试中的集群现象。经验表明:一段程序中若发现错误的数目越多,则此段程序中残存的错误数目也较多。例如:在美国IBMOS/370的一个操作系统中,47%的错误(由用户发现的错误)仅与该系统的4%的程序模块有关。据此规律,在实际测验时,为了提高测试效率,要花较多的时间
5、和代价来测试那些容易出错即出错多的程序段。而不要以为找到了几个错误,就认为问题已解决,不再需要继续测试了。(8)注意遵守“经济性”原则为了降低测试成本,掌握好测试量至关重要。要根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级;要认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的错误。7.1.3测试步骤(1)制定测试计划。该计划被批准后转向第二步。(2)设计测试用例。该用例被批准后转向第三步。(3)如果满足“启动准则”,那么执行测试。(4)撰写测试报告。(5)消除软件缺陷。如果满足“完成准则”,那么正常结束测试。依据是否需要执行被测软件,软件测试技术分为静态分析技术
6、与动态测试技术两种。静态测试是指采用人工检测或计算机辅助静态分析的手段对软件进行检测。动态测试是把事先设计好的测试用例作用于被测软件,比较测试结果和预期的结果是否一致,如果不一致,则说明被测软件可能存在错误。7.2软件测试技术依据是否针对系统的内部结构和具体实现算法,动态测试可分为黑盒测试和白盒测试。黑盒测试是指测试产品的功能。白盒测试是指测试产品内部结构及处理过程。7.2软件测试技术7.2.2黑盒测试方法常用的方法:等价类划分法边界值分析法错误推测法因果图法1.等价类划分法数据测试的等效性原理:将分类的数据取其子集中一个数据做测试与子集中其他数据测试的效果是等效的,即子集中的一个数据能
7、测出软件错误,那么子集中的其余数据也能测出错误;相反,子集中的一个数据测试不出程序错误,子集中的其余数据也测不出错误。思路:把软件的输入域划分成若干子集。然后从每一个子集中选取少数具有代表性的数据作为测试用例。1.等价类划分法步骤:(1)分析输入数据;(2)划分等价类,建立等价类表;(3)设计测试用例:覆盖所有的有效等价类和无效等价类。例子:某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在1990年1月至1999年12月
此文档下载收益归作者所有