一、什么是软件测试
发现错误。评价程序或 系统属性为目的测评。是对软件质量的度量。
1)什么是软件缺陷
软件为实现规格说明说中的功能。
功能出现了错误
功能超出规格说明书的范围
软件未达到目标
软件难理解,不易使用,运行速度缓慢。
2)软件缺陷来源
编码(个人技能)
软件设计
软件需求(这点原因最大:需求文档问题,调研)
其他(环境配置等原因)
*对需求文档要求要高一些!!!
二、软件测试的对象
程序
文件 (系统配置文件,排版,内容)
数据 (配置文件必须正确,遵循国标国家规范)
文件和数据常常被忽略掉!
三、测试的过程模型
软件测试的各个过程关系
V模型
W模型
X模型
H模型
还有其他模型…
V模型- 按顺序所以耗时久
W模型- 开发和测试工作并发进行
优势:节省时间,能尽早发现问题并解决
X模型
四、软件测试的生命周期
- 第一步:测试计划 ->测试计划文档
- 第二步:测试分析 :测试人员根据相关文档了解系统(了解需求文档,各个模块的功能等)
- 第三步:测试设计_用例设计(技术) ->测试用例文档
- 第四步:测试执行 ->测试缺陷报告 发现预期结果和实际结果_一样的,要提交软件缺陷
- 第五步:测试评估 ->测试报告文档
五、软件测试方法分类
- 是否执行软件分为
静态分析(不用运行- 逻辑结构,变量等)
动态测试(需要运行- 功能等需要运行)
- 是否了解程序内部结构
黑盒测试(又称功能测试,数据驱动测试)
白盒测试(又称结构测试,逻辑驱动测试)
灰盒测试
- 根据阶段和作用
单元测试:测试看各个函数是否存在问题
集成测试:各个模块集成在一起的时候,各个模块的调用,接口参数传递是否正确。
系统测试:需求规格是否被正确实现
验收测试:看用户能否接受我们系统。
- 根据目的
功能测试:对各方面按钮等的功能
性能测试:多用户并发进行操作成功,响应时间。
安全测试:能正常使用,不能被轻易黑掉。
兼容性测试:对不同操作系统的支持,硬件的兼容性。
- 常被面试的概念
回归测试: 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引的错误或导致其他代码产生错误。
冒烟测试:硬件相关
α测试:开发者测试后,请用户操作
β测试:发布出去,beta测试版本软件。
六、测试基本原则
- 尽早地不断地进行软件测试
- 应避免测试自己的程序
- pareto原则(80/20原则)
- 测试用例由输入和预期的输出结果组成
- 程序修改后要回归测试
- 穷举测试时不可能的