在软件项目中,不同的阶段会有不同的测试需求,因此产生了不同的测试类型。大多数团队会有如下几个阶段的测试:
- 单元测试:开发阶段开发人员代码级别的测试。
- 功能测试:某个功能或特性完成后,测试人员对这个功能或特性进行的单独的测试,在这个阶段,一般功能不会相互影响,测试关注点比较单一。
- 回归测试:对于已经实现的功能进行的测试,这些功能已经经过了一轮或多轮测试用以保证这些功能的完整性。
- 可用性测试和冒烟测试:这里的可用性测试很多人称之为 Sanity Test,可用性测试的目的主要是保证代码的提交不会对软件产生影响,而冒烟测试主要用于验证整个系统的关键功能是否正常。这两种测试经常会有混淆,或者当作一回事来对待。这是因为,这两种测试的特点就是只运行关键的测试用例,以保证一些基本且重要的功能没有问题。
- 系统测试:系统测试是一个比较笼统的概念,通常很多团队会有系统测试部门对产品进行一系列的测试,比如端到端的测试、异常测试、压力测试、性能测试等。这种测试一般都是系统级别的,测试规模比较大,测试时间比较长,测试人员工容易脱离测试用例,根据自己的经验发现系统性的问题。