什么是软件测试
规定条件下对程序进行操作,从而发现问题,对软件质量进行评估的过程。
软件测试的目的
以最少的人力、物力、时间找到软件中的缺陷,并修改,从而回避商业风险。
软件测试的定义
人工和自动手段来运行程序,目的在于检验是否满足了需求
软件测试的原则
- 所有的测试都应该追溯到用户需求;
- 应该要尽早不断地测试;
- 测试工作应该由独立的专业的机构来进行;
- Pareto原则,28原则,80%的错误基本上来自于20%的新模块中;
- 设计测试用例时,应该考虑各种情况(测试用例:测什么 怎么测);
- 对测试出的错误结果一定要有一个确认的过程(描述缺陷报告);
- 指定严格的测试流程;
- 完全测试是不可能的,测试需要终止;(QQ不断更新版本)
- 关注回归测试(二次检测,是否引入了新的BUG——检测相关联的代码)
- 妥善保存一切测试过的文档(相似的问题尽可能不再次出现)。
测试->发现BUG->初步定位&开发->缺陷报告->回归测试->结束报告->保存文档并结束
回归测试:
修改了旧代码后,要确认没有引入新的问题,不会有周边影响。
软件质量模型(ISO/IEC9126)
六大特性:
- 功能性
- 可靠性(1.尽量不出问题 2.出了问题不能影响主体功能 3.如果影响主体功能要能尽快修复)
- 易用性 (用户体验要好)
- 高效率
- 可维持性 (不断更新)
- 可移植性 (跨越不同系统平台)
软件质量模型保证(SQA)
目的:使软件过程对于管理人员来说是可见的
定义:是一套的方法,对于领导层管理有利
基本目标:
- 保证有计划地进行
- 保证遵循了步骤和需求
- 及时通知给对应人员
- 高管可以接触到项目内部
- 软件质量需要测试工作来保证
QC:质量检测 找毛病
QA:审计过程的质量
工作关系:
QC进行质量控制,QA是确保QC是否按照流程来执行
软件测试的基本流程
- 需求分析
- 编写测试用例 (侧什么和怎么测)
- 评审测试用例
- 搭建测试环境
- 等待开发提交测试包
- 部署测试包
- 冒烟测试(对软件主体基本功能进行基本测试)
- 执行测试用例
- BUG跟踪处理(提交及回归BUG)
- N轮之后符合需求
- 测试结束
举例
用excel编写 订单模块的测试用例 框架:
- 需求
- 测试要点
- 测试点