从Dev转做Tester一段时间了,稍微总结一下。
首先说Tester的思维方式与Dev完全不同,我一度经常陷入到原来Dev的考虑问题的老路上去,对一些缺陷总是觉得不安,但实际上软件产品总是有缺陷的,只要它达到可接受的质量程度就行了。
我做Tester的工作主要是Get cases,通常需要三步。第一步是了解产品。一是通过文档了解软件产品的功能和特性,猜想可能的使用场景。另外就是分析产品形态来确定需要进行哪些类型的测试。比如要测一个类库,那么要测接口功能、性能。用户UI,国际化测试就不必了;要测一个比较复杂的软件产品,比如一个服务的话,还要细分对象级、组件级和服务级的测试。
第二步是形成文档,包括Test plan 和 Cases design等等,综合使用白盒、黑盒等方法,在不同的测试层次和测试类型上尽可能全的获得Cases。再根据时间和资源情况,以及估计cases实现的难度,确定cases的优先级和测试计划安排。
第三步就是实现Cases和进行测试。有两点需要特别注意的就是,第一,根据选取的测试工具不同,整个Test Suite的实现会有很大的差异。测试工具的稳定性很重要。第二,Case的实现一般都是Fast & Stupid,这是可以理解的,但是测试周期的间隔一定要注意优化Test Suite,提取公共实现,扩展测试工具,从长远来看会对测试带来非常积极的影响。
具体测试的时候是很需要发挥具体问题具体分析的精神的,手工、脚本、程序和工具齐上阵,什么好用用什么。总之最短时间做最多的事,谁老想加班呢。