一说到测试和开发的关系,你一定会想到一个词“冤家”。
下面这样的场景每天在不同的公司重复上演。
测试:
这么小的bug都要开发改,影响又不大,还耗时费力,测试懂不懂项目管理,预估风险啊/p>
明明是客户端的bug,指派给我们服务器是几个意思/p>
花费了时间排查,竟然是无效bug,测试到底有没有搞清楚需求直是浪费时间。
明明是个P3的bug,给我 P1,至于么/p>
测试总是在深究bug产生原因和解决方案,测试又不懂代码,懒得解释。
……
测试和开发在工作中因为职责不一样,往往会造成分歧。
对测试和开发的一些建议:
在完成软件研发的过程中,开发和测试之间的关系非常的“微妙”,时而合作如亲人,时而争论如敌人。我认为,为了做出高质量的软件产品来,开发和测试需要做到:
第一,共同参与软件需求文档的评审,对程序要实现的功能有一个清晰的认识。如果对需求有疑问,一定要当面提出来。
第二,在对需求达成共识之后,软件开发人员严格按照软件需求文档上的描述来编写程序,如果在程序实现上有困难,要提出来和大家讨论。软件测试人员严格按照需求的描述来验证程序的功能,如果发现程序实现与需求不符,要及时与软件开发人员联系,大家共同将程序问题解决掉。
第三,如果开发时间紧张、人手不足,那么在开发人员编写程序的时候,测试人员可以帮忙把测试环境搭建好。等程序编写好之后,开发人员便可以立即进行单元测试和集成测试。
第四,不管是需求有问题,还是程序有缺陷,大家都可以指出来。但注意要就事论事,不可将软件问题上升为对特定个人的人身攻击。
第五,虽然是各司其职,也许还身处不同的部门,但大家的共同目标是一致的:做出让客户满意的、高质量的软件产品。开发和测试人员要为了这个目标,一起努力。
如果要做一名让开发人员佩服的测试人员,需要掌握的技能。
1)编程语言
至少要掌握一门语言,不管是简单的php,java,还是C++也好,或者其他的脚本语言python,perl还是shell也好。

2)数据库
至少要掌握一种数据库的DBA,对SQL的操作要熟悉,熟练的运用JOIN进行查询,知道HAVING用法,测试人员离不开数据库的管理和数据库的操作。
3)操作系统
熟悉系统安装,配置,管理,对于Linux,熟悉常用的命令行操作,用Linux的时候,尽量能用命令行,就不要去点鼠标,能在Linux下能安装和配置软件等。
4)扎实的软件测试理论
理论是实践经验的总结,不能说最好,但是如果说设计测试用例的时候,如果每种方法都有涉及到,肯定会发现用例覆盖率会高,而且容易发现bug。
5)尽量自己分析问题
在发现问题之后,能自己尽量的寻找线索,首先要确定非环境因素,比如检查配置是否全部正确, 络是否有问题等等,然后确定非环境因素后,保护现场,保存记录系统提示信息,如果有日志功能,那自己先根据日志查找一些线索,并把自己检查过的地础和做过的分析信息尽可能多的提供给开发人员,而不是仅仅把错误日志或者错误信息丢给开发人员分析就不管了。
6)多涉猎一些项目之外的知识
做测试的就是要涉猎的广,跟开发不同,测试是要能接受任何类型的项目,因为测试是一门方法学,方法学是不受某个产品或者领域限制的。
7)掌握一些安全方面的知识
安全方面需要哪些知识,首先从 络安全入手,了解一些密码学方面的知识,比如了解常用的加密算法原理,比如 文加密传输协议原理,建议看一下hash的方法,这个简单容易理解,还比较容易举一反三。
8)提高沟通能力,懂得尊重开发人员
测试人员要面对的人员很多,客户,项目经理,开发人员,产品经理等,有时候会全部都接触的到,那么沉默就不一定是金,有良好正确的沟通能力,会帮助测试人。
总结:
如果想学习软件测试,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!