微信号:grzlwx

介绍:光荣之路官方资讯

做好软件测试需要具备的思维方式(上)

2016-02-25 22:49 光荣之路

吴老的《selenium webdriver 实战宝典》出版了!

最近部门来了好几位应届毕业生加入团队,我们也大张旗鼓的组织了集中式的培训,其中我需要对关于测试工作进行简介,在培训内容中,我特地整理和回顾了做好软件测试需要具备的思维方式,当时也就4张PPT。在此,我再详细整理出文字内容也分享出来给广大的同行。

首先,从需求,用户及研发角度考虑,要想为产品贡献最大的力量,就不能只专注于做好测试保证质量这一个方面,而应该是从多个角度全面衡量。

从图中,体现出我们也应该站在用户的角度,研发的角度来考虑产品的整体规划。

用户思维
在工作中,一部分测试同行特别是初入者在对待需求时都过于被动,不太会把产品各个模块的业务串联起来,成了因为需求来了所以做需求,纯粹看着需求文档就开始做测试用例的设计了,并没有想着先把需求理顺了想明白了再开始着手。其实这个阶段也即是非常重要的需求分析及功能点拆解,即使说这主要是产品经理们的主要工作,但是他们也并非圣贤,对产品设计的细节考虑可能并不周全,甚至严重时会出现较大的需求漏洞,引发较严重的影响。而我们也应该具备该项能力,如果不能站在公司战略层面考虑该需求对业务上能带来哪些促进,也至少能站在用户的角度考虑能给用户带来什么价值,能满足用户哪方面的需求,同时能及时发现对于用户操作过程中的体验问题,在糗事百科创始人著作的《结网》一书中,也提出了用户体验的三大原则:别让我等,别让我想,别让我烦。我觉得作为一名合格的QA是需要具备这方面能力的,但是在实际工作实操中还是需要具备沟通技巧,毕竟能对于用户体验方面的改进需要产品经理拍板,如果的的确确非常明显的体验问题,是有必要坚持真理说服他们优化的,否则还是把话语权留给他们,我们只是提供建议吧,不然工作中的**味一定会很浓。

架构思维
要想设计一份有效的测试用例,就必须要对软件开发设计思路有深入的了解,我们也经常有类似的事情,业务需求未做任何改变,而架构做了优化,如果单纯地拿着一份根据业务整理出的用例是无法准确而有效的测试的,架构的调整包括:底层数据结构的调整如分库分表,服务化(SOA),日志的收集处理以及容灾处理等等,另外,为了能有助于测试开展,我们同样需要了解开发技术,毕竟在测试环境的搭建及维护,测试过程中各种场景的模拟特别是异常情况,以及自动化测试,如果不借助于开发技术,自动化工作也是很难开展的。比如被测系统依赖其他系统发的一条MQ消息而做相应的处理,那自动化代码中为了验证该逻辑,就需要MOCK这条消息(即设置桩Stub)并且发送到某个管道中,让被测应用接受并处理它,如果连MQ是什么都不知道,也不知道如何在代码中发送消息,那这个部分的自动化测试是没法开展下去了。

上面只是举了一个例子,总结一下,需要具备的架构思维包括:
1)了解并熟悉开发使用的技术及开发框架,比如用到的Spring MVC,Mybatis,Redis,前端HTML,JS,相关协议等(视不同项目具体情况而有所不同);
2)理解研发设计的架构及设计思路,并考察开发设计是否满足业务需求;
3)Review技术方案时,考察是否满足易维护性,易扩展以及对性能和安全的要求,并且在关键业务出现异常时是否添加报警等,而这一点也是大多数从事功能测试的同学最易忽略的。(未完待续)

(作者:zzzmmmkkk 来源:http://www.51testing.com/html/85/258885-3579066.html)

公益传播测试知识、技能与正能量!感谢作者!
分享测试生活,思考测试人生!欢迎投稿!
文章图片来自网络,如有侵权请见谅,请联系我们妥善处理。
735821166@qq.com


光荣之路
软件测试培训


官网:www.gloryroad.cn

微信公众号:gloryroadtrain

性能测试QQ群:415987441
测试招聘QQ群: 203715128
自动化3群QQ: 371211499

Python群:457561756


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 App架构之组件化理解 成为高效程序员应该掌握的搜索技巧 Swift 为CGSize扩展数学运算符 log4net入门 JAVA初学者 按这三步走 绝对没错