我很认同IEEE对软件测试的定义:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”但很多时候,大部分测试团队的目的是尽可能发现并改正被测试软件中的bug,提高软件的可靠性。所以,我该庆幸我在测试、产品、项目管理几个岗位上(还差开发,哈哈)都待过以后,对软件测试有了新的认识。有些测试问题,必须不时的问自己,我相信,每个阶段每个岗位都会有不同的答案。
一、一些基础问题的答案
1、是否能一句话说清楚模块测试、功能测试和系统测试的区别?
2、是否能说清楚功能测试和场景测试的区别?
3、是否能说清楚可靠性测试和稳定性测试的区别?
人对故事性强的东西能够很快的理解,所以以上,是否能举出例子让人一听就明白。
二、一些需求理解的答案
1、系统的核心需求是什么?
2、系统的功能需求、性能需求、安全性需求?
3、以上需求细化以后的优先级?
4、以上需求有冲突域吗?
5、以上需求合理吗?
三、一些概要设计的答案
1、设计覆盖需求了吗?
2、可测性?
四、固化的测试流程的回答
1、流程为什么要这么安排?
2、为什么这个时间是这个角色?
3、这个流程对这个项目适用吗?怎么调整?
最后,每次拿到项目,必须问自己的两个问题:
1、测什么?
2、怎么测?