软件测试的定义与分类
一、软件的分类
1、系统软件(理解概念,举例:windows、Linux、dos、ios、 MySQL等)
2、应用软件(理解概念,举例:淘宝、支付宝、12306、wps、qq、微信等)---之后测试的重点
二、软件测试的定义:为了发现程序中的错误而执行程序的过程。
可以理解(目的)为:
1、为了发现程序员在开发过程中的存在的代码错误(1+1=4)以及逻辑错误(1+1算成1-1)
2、为了审核产品完成是否符合用户需求。
3、为了提高用户体验。
4、为了交付质量更高的产品。
三、软件测试的分类
1、按软件测试的阶段分类
单元测试、集成测试、系统测试、验收测试(正式验收测试、Alpha测试、Beta测试)
思考:1、Alpha测试、Beta测试的区别是什么?
答案:Beta测试:1、完全由用户测试 不能有开发和测试人员在 2、对外的,是面向正式环境和生产环境的。
Alpha测试:1、完全由用户测试 不能有开发和测试人员在 2、由公司内部人员或者客户来测试,面向开发环境的。
2、 软件测试的阶段分别由哪些测试类型组成?并简要说明每个阶段分别是做什么的?
单元测试、集成测试、系统测试、验收测试(正式验收测试、Alpha测试、Beta测试)
单元测试:是开发对自己写的类或者函数进行测试的过程。
集成测试:是在单元测试的基础上把他们模块组合起来测试的过程,例如:软件里面有很多功能要完成,每个人负责写不同的类,但是某功能需要几组泪一起协作完成 ,我们就得互相调用看是否能够正常使用。
系统测试:是指我们要对软件进行全方位测试的阶段。
验收测试:正式验收测试(正常测试看软件是否满足客户需求)、Alpha测试(公司员工或客户在开发环境中进行的测试)、Beta测试(指定人群在生产环境下进行的测试)
2、按测试方法分类
白盒测试、黑盒测试(数据驱动测试)、灰盒测试
3、按被测对象是否运行的角度
动态测试、静态测试
静态测试:文档审查和代码走读,不用动手的
动态测试:需要动手操作
其他测试
功能测试、界面测试、安全性测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试(灾备环境)、冒烟测试(先看主体功能是否完好)、回归测试(提bug-开发修复- 验证bug有没有修复以及bug相关功能有没有被影响)、探索性测试(不按常规测试)