本文主要介绍软件测试相关的一些基础概念.
主要内容包括 :
什么是需求
什么是bug
什么是测试用例
开发模型和测试模型
配置管理和软件测试
一 : 什么是需求
满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求.
用户需求为什么不可以直接作为测试/开发工作的依据呢 ? 因为用户需求未必是合理的 . 我看过一个段子 , 有用户提出这样一个需求 : 能不能根据周围环境的颜色变化 , 动态地改变手机屏幕的颜色 ? 这好吗 ? 这不好 ! 当然 , 如果用户需求是合理的 , 并且有开发的必要 , 那么产品经理就会将用户需求转变为软件需求文档 .
二 : 从软件测试人员角度看需求
需求是测试人员开展软件测试工作的依据.
在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,然后针对每个测试需求点设计测试用例 .
以“用户登陆”为例,来阐述下整个过程:
Q : 如何才可以深入理解被测试软件的需求 ?
A : 测试工程师在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好时机 .
只有真正理解了原始业务需求之后,才有可能从业务需求的角度去设计针对性明确,从终端用户的使用场景到端到端的覆盖率较高的测试用例集 .
三 : 什么是测试用例
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素.
在进行软件测试,尤其是软件功能比较复杂时,仅仅通过想一个测一个的方法来进行测试肯定是不可取的.
测试用例的存在是为了提高测试覆盖率 , 如果不设计测试用例 , 很可能造成漏测的风险 , 虽然在测试中有句话叫做"不可能做到完全的测试" , 但测试人员