软件测试
——掌握有效测试软件的方法与技术
喻海棠
电话:**********
目录
测试的目的
2. 测试的阶段
3. 测试流程
4. 测试方法和案例分析
世上不存在没有缺陷的软件
测试的目的
软件测试的目的是发现程序中的错误!
是为了证明程序有错,而不是证明程序无错,把证明程序无错当作测试目的不仅是不正确的, 完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的.
软件测试要设法使软件发生故障,暴露软件错误!
一些常识和经验之谈
测试能提高软件的质量,但是提高质量不能完全依赖测试。
测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机会发作。
测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试。
80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块修改后还会经常出错
测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”。
每个开发人员应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)。
为什么不让开发人员自己测试
测试的目的是找出尽可能多的缺陷。所以测试是“破坏性”的,而开发却是“建设性”的。开发人员总是喜欢欣赏程序的成功之处,而不愿看到失败之处。让开发者去做“蓄意破坏”的测试,就象杀自己的孩子一样难以接受。
开发者对自己的程序印象深刻,并总以为是正确的(自信是应该的)。倘若在设计时就存在理解错误,或因不良的编程习惯而流下了隐患,他本人很难发现这类错误.
开发者对自己的程序的功能、接口十分熟悉,他自己几乎不可能因为使用不当而引发错误,这与大众用户的情况不太相似,所以测试自己的程序不具备典型性。
开发人员应当测试自己的程序,这是他分内的工作。但是开发人员在测试自己的程序时,很难做到客观、公正,所以自我测试不具有说服力。
测试阶段
单元测试、集成测试、系统测试、验收测试。这是一个“从小到大”、“由内至外”、“循序渐进”的测试过程。
单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。
测试阶段
测试阶段
主要依据
测试人员、测试方式
主要测试内容
单元测试
系统设计文档
由开发小组执行白盒测试
接口测试、路径测试
集成测试
系统设计文档
需求文档
由开发小组执行白盒测试和黑盒测试
接口测试、路径测试
功能测试、性能测试
系统测试
需求文档
由独立测试小组执行黑盒测试
功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试
验收测试
需求文档
由用户执行黑盒测试
测试流程
第一步:制定测试计划。该计划被批准后转向第二步。
第二步:设计测试用例。该用例被批准后转向第三步。
第三步:执行测试,测试人员提交BUG并跟踪该BUG直到关闭。
第四步:撰写测试报告。
测试流程
执行测试启动准则
同时满足以下条件,允许开始测试:
测试计划已经制定并且通过了审批;
测试用例已经设计并且通过了审批;
被测试对象已经开发完毕并等待测试。
测试完成准则
测试用例的通过率为95% ,且持续时间>5天。
允许有5%的用例不通过,但级别不能是重要的用例
软件测试培训 来自淘豆网m.daumloan.com转载请标明出处.