软件测试基础知识
软件测试的定义
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的分类
按方法分类
- 黑盒测试
把软件比喻成一个黑色的不透明的盒子,检查输入与输出是否对应的上,完全不考虑程序内部结构和内部的特性,着重于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。 - 白盒测试
把软件比喻成一个透明的盒子,通过检查软件内部的结构来测试。通过去检查代码的方式来判断软件的功能有没有问题。 - 灰盒测试
把软件比喻成一个半透明的盒子。介于黑盒测试和白盒测试之间,在看内部结构的时候我们也在外部进行点击来检查有没有问题。
按阶段分类
- 单元测试
去测试代码模块有没有问题;测试对象是测试开发写的代码块,函数,方法等。用白盒测试,一般单元测试由开发自己做。 - 集成测试
又叫做接口测试。把代码块和代码块连起来的过程,我们就把它叫做集成,测试的是不同的大的模块和大的模块连接的对不对,他们是通过接口连接的。所以我们测试代码块和代码块连接的对不对就是测试的接口。用灰盒测试比较多。 - 系统测试
对整个完整的软件进行测试。 - 验收测试
交付时进行的测试,协助领导验收。确定产品是否满足合同或者用户所规定需求的测试。 - α测试
内测 - β测试
公测
按方向分类
- 功能测试
功能测试用到的大多数的测试手段都是黑盒测试。 - 性能测试
测试软件的反应速度(响应时间)/资源消耗。
性能测试包含一下几点:
压力测试:找到系统的极限在哪里
负载测试:系统在极限工作的情况下可以持续多久。
并发测试 - 自动化测试
把以人为驱动的测试行为转化为机器执行的一种过程,使用自动化测试工具,编写自动化测试脚本来替代人为手工测试。 - 安全测试
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。