软件测试基础知识总结

电子说

1.3w人已加入

描述

  软件测试是为了尽早发现软件缺陷,确保缺陷修复,以提高软件质量,决定软件质量的关键是需求分析、设计和实现,而测试是贯穿于上述过程的一种检查手段。即便功能开发好了,没有经过测试,这也是一个不可靠的程序。

  本文主要详细的介绍软件测试基础知识盘点,分别从软件测试的目的、原则、对象、分类、测试流程及注意事项等几个方面来详细介绍的。

  

  什么是软件测试

  软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  简单地说,软件测试是为了发现错误而执行程序的过程。 软件测试是软件质量保证(QA)的一个重要环节。

  软件测试的目的

  测试是程序的执行过程,目的在于发现错误;

  一个好的测试用例在于发现了至今未发现的错误;

  一个成功的测试是发现了 至今未发现的错误的测试;

  软件测试原则

  所有的软件测试都应追溯到用户需求

  应当把“尽早地和不断地进行软件测试”作为测试者的座右铭

  完全测试是不可能的,测试需要终止

  测试无法显示软件潜在的缺陷;

  充分注意测试中的群集现象

  程序员应避免检查自己的程序

  尽量避免测试的随意性

  软件测试对象

  软件测试贯穿于整个软件生命周期中,不同阶段测试的对象和方法不同。

  主要包括可执行研究报告、项目实施计划、软件需求说明书或系统功能说明书。开发阶段的概要设计说明书、详细设计说明书以及源程序。

  

  软件测试分类

  软件测试主要分为白盒和黑盒,白盒关心软件内部设计和程序实现,依据是设计文档;而黑盒不关心软件内部,只关心输入输出,依据是需求文档。白盒一般由开发人员负责,测试单元代码,我们一般所认为的软件测试工程师做的是黑盒测试,负责整体系统流程测试。

  黑盒测试又包括:

  功能测试(根据需求说明,验证功能)、用户界面效果(易用性、视觉效果)、性能测试(处理业务的速度)、健壮性测试(异常情况下,系统的容错能力和恢复能力)、安全性测试、压力测试(极限状态的负载量)、可靠性测试、安装/卸载测试

  黑盒测试的方法:

  等价类划分(划分相同价值的集合,避免重复性工作)、边界值分析、错误推测法、因果图法、场景分析法。

  其实还有一种是灰盒测试,针对程序的接口,关注输出对于输入的正确性,通过表征现象、条件来判断内部的运行状态。主要用于及集成测试的阶段。

  

  软件测试的阶段

  1、单元测试,即一个个功能模块进行测试(白盒测试)

  2、集成测试,将接口集成后,测试接口传输数据的准确性(黑盒、白盒测试,也称为灰盒测试)

  3、系统测试,联网后,整体流程测试(黑盒测试)

  4、验收测试,由客户验收的测试(黑盒)

  软件测试的流程

  1、制定测试计划,根据需求安排人员、项目阶段、时间、测试工具、浏览器等;

  2、设计测试用例,根据需求规格说明书,写清测试的条件、步骤、结果,即如何测;

  3、执行测试,当测试计划、用例已审批且测试对象开发完后即可开始,发现问题提交bug给开发,修复完再回归测试;

  4、写测试报告,内容包括本阶段测试了什么功能,有哪些问题,问题严重性以及提出问题若不能修复的备选方案;

  5、当前功能性测试用例通过率达100%,非功能性测试用例通过率达90%,且最近时间内测试无暴漏情况,测试结束。

  

  软件测试中应该注意的事项

  1)有合法的数据输入,同样有非法的数据输入

  2)在对程序修改之后应该进行回归测试

  3)应充分注意测试中的集群现象(发现的问题越多,未发现的问题也越多)

  4)妥善保留测试计划、测试用例和相关的测试报告

  5)对测试结果做全面检查,避免遗漏

  6)严格执行测试计划,排除测试的随意性

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分