初步了解软件测试
我们常常听到 软件测试 这个名词,那么什么是软件测试呢?软件测试包含哪些内容呢?软件测试工程师需要具备哪些素质呢?接下来我们一一解答这些问题。
软件测试的概念
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 随着软件测试理论的发展,这个定义已经不够准确了,因为软件测试中的用户体验、安全性等方面未被包含在内。上述定义中的”程序错误“应该改为”软件缺陷“。
软件测试过程介绍
软件测试按测试内容可划分为功能性测试和”非功能性测试“,其中功能性测试专注于测试软件功能实现的正确性,确保功能符合需求设计。而非功能测试则从其他方向指标来衡量软件系统的质量,比如安全性/可靠性/健壮性/可扩展性/可移植性/互操作性等。
功能性测试过程
功能性测试一般以测试项目或者迭代版本为单位,测试过程包括:
- 需求讨论会,产品经理提出需求后需会同开发和测试一起讨论需求的合理性/可实现性等。
- 需求设计了解,需求经设计后测试人员需了解需求设计方案和实现方案,若需求设计不合理可在此过程提出要求修改。
- 测试计划,项目或迭代确定,需确定测试计划,主要有测试人员,测试时间,测试方案等。
- 测试分析,项目或跌打中