- Q1:什么是软件测试?
广义概念:软件测试师是指软件生存周期中所有检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认。
狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致。
在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”
简单来说,就是为了发现程序中的错误而执行程序的过程。
- Q2:测试目的是什么?
- 为了发现程序员在开发中存在的代码以及逻辑错误
- 为了审核产品的完成是否符合客户需求
- 为了提高用户体验
- 为了交付更高质量的产品
总的来说,就是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
- Q3:软件测试阶段?
- 计划阶段 主要任务是编写测试计划,对进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避有一个制定,一般由测试主管编写,测试人员也会参与有关的评审工作。
- 设计阶段 主要任务是编写测试用例,会参考开发人员的需求分析、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。
- 执行阶段 首先搭建测试环境,执行预测,以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug单(QC、禅道),具体测试轮次由开发质量和版本复杂程度决定。
- 评估阶段 出总结报告,对整个测试的过程作一个总结,对当前测试版本质量给一个评估。
- 验收阶段 出用户手册,操作指引,公司有严格的评审流程,以保障每一步输出的有效性。
附:软件测试工作流程:分析需求→制定测试计划→设计测试用例→执行测试→编写测试报告→线上维护测试
补充:
- 一个软件产品从形成概念开始,经过开发、使用和维护,直到最后退出使用的全过程称为软件生存周期。软件生存周期根据软件所处的状态,以及软件开发活动的目的和任务,可划分为若干个阶段。一般软件生存周期包括软件定义、软件开发以及软件使用与维护3个部分。
- 测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境=软件+硬件+网络+数据准备+测试工具。可以先理解为模拟用户使用环境。
- 测试能提高质量,但是提高质量不能依赖测试。
- 测试只能证明缺陷存在,不能证明缺陷不存在。
- 每个开发人员应该测试自己的程序(单元测试),但不能作为测试通过的依据,测试人员仍要进行独立测试。
- 80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错,这就是聚集效应。
- 测试要循序渐进,具备一定的耐心与细心,以及独立的观察能力与分析能力。总之就是要加油加油再加油!
23:52:46 2016-11-15