软件测试概述
- 什么是软件测试
1.发现软件的缺陷:修正软件
2.评估软件的质量:改进软件
什么是软件缺陷
1.功能缺失
2.出现错误
3.超出设计规定的功能
4.没有达到应该达到的目标
5.难以理解、使用,运行速度慢
软件缺陷来源
1.软件需求:需求文档与实际不符,调研与用户实际需求差距大
2.软件设计:扭曲需求文档真实意图
3.编码:编码错误
4.其他:配置问题等
软件测试对象
1.程序:功能正确,性能良好
2.文件:用户手册,运维手册(排版清晰、内容完整没有错误)
3.数据:基础数据完整正确、系统配置文件值、遵守相应规范和标准
测试的过程模型
-
V模型
-- 用户需求——需求分析——概要设计——详细设计——编码——单元测试——集成测试——系统测试——验收测试
-- 缺陷:顺序执行,耗时长;问题发现不及时
-
W模型
-
X模型
-
H模型
测试的生命周期
1.测试计划:产生测试计划文档
2.测试分析:头脑过程
3.测试设计:产生测试用例文档
4.测试执行:产生测试缺陷报告文档
5.测试评估:产生测试报告文档
测试方法
是否执行软件
-- 静态分析:观察分析代码
-- 动态测试:运行软件进行测试是否了解程序内部结构
1.黑盒测试(功能测试、数据驱动测试),不需要知道程序内部结构
--对测试人员要求低,用户级别
2.白盒测试(结构测试、逻辑驱动测试),需要知道程序内部结构
--对测试人员要求高,开发级别
3.灰盒测试,介于黑盒和白盒之间根据阶段和作用
1.单元测试
2.集成测试
3.系统测试
4.验收测试根据目的
1.功能测试
2.性能测试
3.安全测试
4.兼容性测试常被面试的概念
1.回归测试
-- 验证问题是否得到解决
-- 验证是否产生新问题
2.冒烟测试
-- 基本功能测试
3.α测试
-- 在开发环境下测试
4.β测试
-- 在用户环境下测试测试基本原则
-- 尽早地和不断地进行测试
-- 避免测试自己的程序
-- pareto原则(80/20原则):80%的缺陷在20%的模块中
-- 测试用例由输入和预期的输出结果组成
-- 程序修改后要回归测试
-- 穷举测试是不可能的:测试量小覆盖率高