01软件测试定义
标准定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
通俗来说就是在软件中发现缺陷的过程。
02软件测试目的
软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,软件测试越早参与到软件开发过程中越好,这样开发出来的软件质量相对越高,时间和物力也越经济。
测试工作的最终目的是确保软件的质量,确保用户能够使用到优质量的软件,并且测试的时候,要站在用户的角度考虑软件的质量和性能。
03软件测试分类
1、按项目开发流程分类
- 单元测试:单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。
- 集成测试:集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。
- 系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足需求。
- 验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并能上线。
2、按是否关注代码分类
- 黑盒测试:
黑盒测试,只关心软件的输入数据和输出结果。不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
- 白盒测试:
研究里面的源代码和程序结果。通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作
- 灰盒测试:
灰盒测试介于黑盒测试与白盒测试之间。(灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但不像白盒那样详细、完整,只是通过一些表征性的现象来判断内部的运行状态,如果每次都通过白盒测试来操作,效率会很低,因此需要采取灰盒的方法。 )
3、手动测试和自动化测试
- 手动测试就是由人工去执行测试用例,通过人工操作,查看返回结果是否符合预期结果。
- 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。为了节省人力、时间或硬件资源,提高测试效率,便进行自动化测试
(自动化测试:可分为功能自动化测试与性能自动化测试。)
4、功能测试和性能测试
- 功能测试
功能测试测试实际的功能是否符合用户的需求,围绕软件的功能点进行测试。
功能测试又可分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
- 性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
04软件测试的流程
步骤一:需求分析
这个阶段主要是对业务的了解学习,包括:查看需求,理解需求,分析需求点,参与需求评审,评审需求是否合理。
步骤二:制定测试计划这个阶段的主要任务就是通过参考“软件需求说明书”以及“项目总体计划”,来制定测试计划。
步骤三:设计测试用例、编写测试用例
通过参考需求文档、产品原型等文档,来编写测试用例,用例编写完成之后会进行评审。
步骤四:实施测试
实施测试主要包括以下几个部分:
- 搭建相应的测试环境
- 执行冒烟测试(预测试)
- 进行正式的测试
- 回归测试
步骤五:提交bug,提交缺陷报告
这个阶段主要是将执行测试过程中发现的bug提交到bug管理平台上,后续可能需要提交缺陷报告。
步骤六:生成测试总结和报告
在这个阶段需要给出测试报告,并确认是否可以上线。
🎙️我是一个热衷分享测试干货的小测试
🎆欢迎点赞 👍 收藏、留言 📝 如有错误敬请指正!
⛽️获取更多干货,可以关注公众号:软件测试开发区