test 知多少? ——新手上路
我们团队WP7上基于Academic Search 的会议助手手机客户端的alpha版本已经结束。在团队中,限于团队规模,每个人都会做点dev的事情,但是 我的最为主要的角色就是tester,以前从未做过tester,一个月的alpha版本开发下来,我在tester的岗位上也有许多的感想,我想,把它们都记下了,希望它见证我们的成长,当然,希望能够得到大家的指点,从众人的认知领域获得我们能汲取的经验和知识。
理论上我们学到了什么?
我想,人们对于test最基本的认识,莫过于尝试使用软件,找出bug。事实上,真正做测试的时候要有很规范的流程。我简要的挑几个概念跟大家分享一下。
1) 测试计划:测试计划描述测试活动的主要方面,why? what? who? when?。详细的说包含一下方面:
测试的策略和方法、测试日程安排、质量目标、资源、测试变量矩阵。
2)什么是测试变量矩阵:
简单的说,测试变量矩阵是通过考量用户类型,系统的OS,语言,浏览器类型,网络情况等各种因素,来确定测试变量数目以后列出的一个表格,测试变量矩阵是测试人员进行测试的蓝本。
3)软件测试的方法:
这里首先澄清一下,我们常说的黑箱测试和白箱测试其实并不是指的某种软件测试的方法,它们是两类软件测试设计的方法。我们OMG团队在alpha版本里主要采用的软件测试方法集中在功能测试和非功能测试。
软件测试方法,按功能测试分类,有单元测试(验证测试每个单元程序的正确性)、模块功能测试(测试每个模块的功能)、集成测试(几个相互依赖的模块的功能的测试)、场景测试(验证能否完成特定的用户场景)、系统测试和alpha测试(alpha发布在实际的用户环境中对软件测试)。而非功能测试包括负载测试,效能测试,本地化/全球化测试,兼容性测试,配置测试,易用性测试和软件安全测试等。
当然,软件测试的方法还有很多,包括代码覆盖率测试(PS:对于新手的我来说,我真不知道如何设计代码覆盖测试方法。。。求高人指点)、验收测试、回归测试、“探索式”测试等等。
作为tester有何工作感想?
首先,我想说,主要角色是tester, 尽管我做的dev的工作相对较少,但是,我不觉得自己比别人贡献的少。
很多人会有种执念,做软件开发,不做dev似乎就没有动力。其实,通过一个月的实践,我觉得,社会本就是高度分工的。tester在一个软件开发中起到的作用也是不可忽视的。很简单,如果不做各种测试,软件性能如何去评测?如何保证最后release的产品能够很好的满足用户的需求?
其次,test工作并没有想象中的那么容易。
一开始,接手tester的角色,心里想自己的工作压力应该是比较小的。事实证明,真正用心去做好一个tester,还是需要付出很多的努力。在产品的计划阶段,tester要讨论测试计划,调研和收集用户对软件的非功能性需求,比如软件的效能,易用性等的信息,确定我们的非功能性测试标准;在开发阶段,tester需要及时的进行BVT(Build Verification Test),及时提交bug给dev,另外,作为tester,需要想很多“探索性测试”的例子,随机的验证软件的稳定性和鲁棒性;而当进入稳定阶段后,尤其是alpha版本发布后,tester需要收集用户的alpha试用反馈,确定beta版本的测试标准。
最后也是最重要的一点,tester应该有怎么样的素质。
做了把tester,才知道,tester不是那么好做的,当然,自己水平是那么那么的有限,所掌握的和接触的知识也是比较少的。结合我的工作体验,我发现了一下几点:
1.足够细心、耐心和信心。
首先你得相信自己有足够的创造性和好奇心,要相信自己能挑出软件的bug。然后你才有动力去尝试各种可能的case,如果没有了好奇心,打打酱油或许某个bug就不经意间溜走了。而耐心和细心是做好任何工作的基础。tester的工作,更是这样,试想一下,某个功能或者某个用户场景,你需要尽可能多的设想各种test case去挑剔它,其实,有时候并不是那么的有意思的事情。
2.见多识广,基础要好。
我作为一个非CS专业的tester,更是对这一点体会有嘉。tester在设计黑箱测试方法的时候还更多地依赖创造性好奇心等。然而做白箱测试,代码的结构其实是对你透明的,能不能专业的分析代码结构,能不能敏锐的察觉代码中可能的风险或纰漏,这就是考验一个tester专业技能的时候了。另外,见多识广很重要,tester要是能了解IT的各个方向,背景知识比较的多,对他来说,设计更好更有创造性的test case是相当有利的。
3.学习与钻研精神。
取人之长,补己之短,他山之石,可以攻玉。老祖宗都说烂了。但是,我的经历又一次检验了它。我从一开始连test plan都不知道如何下笔,到今天写下这篇日志,我觉得,这就是从学习的过程中积累下来的,尽管我刚刚接触它,我的这些文字看上去显得稚嫩而有浅显,但是,学习让我成长,我也相信,学习能让每一个都或者成功,或者成长。与君共勉。
Dongliang He 拙笔
MSRA—USTC Class.