赞
踩
一个好的软件一定离不开软件测试,只有在测试的过程中发现尽可能多的错误,才能保证软件是否是真的好。我认为软件测试是软件开发过程最重要的一环。
对于本章我将以下图来讲。
测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。成功的测试在于发现了迄今尚未发现的缺陷,它能有效地揭示潜伏在软件里的缺陷。
据统计测试工作量要占软件开发总成的40%到50%以上。
(1)测试是程序的执行过程,目的在于发现错误。
(2)一个好的测试用例在于能发现至今未发现的错误
(3)一个成功的测试是发现了至今未发现的错误的测试
尽早地和不断地进行软件测试
由测试输入数据和对应地预期输出结果这两部分组成
程序员应避免检查自己地程序
主要检查所有功能。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
最大的局限就是只能测试功能是否正确,但是无法检测错在哪里。黑盒测试是以用户的角度。
(测试方法)
等价类划分
边界值分析
错误推测发
因果图
全面了解程序内部逻辑结构、对所有逻辑路径进行测试。跟黑盒测试正好相反,可以清楚的看到加工的结构,可以看清程序的主要逻辑,一 一进行测试。
(测试方法)
静态测试:
不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试
动态测试:
通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。
测试过程按4个步骤进行,即单元测试,组装测试、确认测试和系统测试。
单元测试又称为模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。
通常,把模块组装成为系统的方式有两种:一次性组装方式 和 增殖式组装方式
(1)自顶向下的增殖方式
(2)自底向上的增殖方式
(3)混合增殖式测试
确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。
是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
β测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返有关错误信息给开发者
功能测试、可靠性测试、强度测试(敏感式测试)、性能测试、恢复测试、启动/停止测试、配置测试、安全性测试、可使用性测试、可支持性测试、安装测试、过程测试、互连测试、兼容性测试、容量测试、文档测试。
(1).用头脑去分析思考与错误征兆有关的信息
(2).避开死胡同。
(3).只把调试工具当做辅助助手手段来使用。
(4).避免用试探法,最多只能把它当做最后手段。
(5)修改错误的原则
(6)在出现错误的地方,很可能还有别的错误。
(7)当修正一个错误的同时有可能会引入新的错误。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。