零基础,开始转行做软件测试,我该从哪方面入手学求大神指教·

谢邀请。先从软件测试的方法,理论。还有编程技术这几个切入点开始---增加个人补充,虽然是移动互联网的,但道理是通用的作者:陈晔链接:如何做好移动互联网应用测试 - 大话软件测试 - 专栏来源:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。现在不会做测试的拼命到处问怎么做测试,现在在手动测试的拼命问怎么做自动化,现在做自动化的拼命问怎么写测试框架,现在写测试框架的拼命让团队使用,现在写框架并且让团队使用的拼命问除了维护框架还有什么别的可以做,现在没有事情做的拼命在问到底测试做什么呢?
不知道每天会有多少人,每秒钟会有多少人会去问怎么做自动化,多少人会去问自己发展方向是什么,学习方向又是什么。我很明确的说,你没有方向原因在于你的无知,人最大的敌人就是恐惧和无知,两者相辅相成,最终就是一事无成。你问那么多有什么用,踏踏实实的先开始学有什么不好。 比如你要学习移动互联网的无线应用测试了,比如你要开始学习Android的应用测试了。那么首先第一步你先看google 提供的文档吧,sdk文档不说详细,先浏览一遍吧。然后既然你是一个做测试的,我们就说正常的道路,你至少先将文档中与test这个关键字相关的工具也好,框架也好看一下吧。不懂的可以随时google或者百度来帮助我们阅读完sdk的docs。什么?你从来不看官方文档?android是谁生的?你连亲爹妈都不看,那么你看啥?看后妈?然后抱怨怎么看不懂?你怪谁?
ok,假设你老老实实的看完了,然后你说你了解你们产品的业务了,你就可以做应用的功能测试了吗?非也,试问大部分测试真的觉得自己够资格去做功能测试吗?觉得功能测试很简单吗?问起来很多人都很自信满满的说自己非常了解业务。ok,试问,你的app中每个功能对应哪些接口你知道吗?这些接口会有什么核心参数知道吗?试问,你的产品的核心代码你有阅读过吗?你的产品前端app对应的后台服务的代码你有阅读过吗?你说你测试的产品有视频是吧,视频格式有哪些?常见分辨率有哪几种?常见码流有哪些?如果这些你都不知道并不代表你不回做功能测试或者业务测试,而是你根本无法深层次的去设计测试用例,那么请问你这算会功能测试了吗?还有的同学和我说用户体验测试,ok,继续问,请问你看过google提供的android的UI Design Guide吗?也许你没有看过,也许你根本不知道,不管是哪条,那么还谈什么用户体验呢?简单来讲,我们做一个测试很简单,要深入做很困难,就如同今天移动测试会上茉莉说的wifi测试,也许让也许人去测试wifi测试也会测试,但是深入呢?我们做测试要踏踏实实,不要浮躁,浮躁只会让你继续sb,但是不会阻止别人nb。
ok,假设功能测试的点你都清楚了,然后你说你技术多多少少知道点,然后你就可以去做应用的自动化测试了吗?非也。我们一个一个来看。大部分先来做的是UI Automation,ok,appium我在这边就不说了,也许2w字都吐槽吐不完,我就说robotium。那么你第一步是先看下robotium官方网站的sample和wiki,不要到处问例子或者直接上来就导入jar包去做。了解完毕之后,那么可以继续深入的去了解junit 和instrumentation,了解这两者能够让你对robotium更了解并且在写用例的时候更得心应手。然后你会写了sample,能够跑通就算ok了么?非也,那么接着碰见的问题就是如何管理suite,如何管理数据,比如testng,如何做参数配置,比如config.xml,如何进行用例的架构的维护,使用op等。接着如何将其集成到持续集成中?如果你仔细看过instrumentationtestrunner的官方文档你就不会问了。接着除了native的,也许会碰见自定义控件的自动化,最后还有webview和h5的自动化等。那么这些前提是你要先去了解这个自定义控件以及webview到底是什么吧,而不是直接拿robotium自定义的api直接食用,然后抱怨说,啊呀这个怎么跑不通。最后记得一定要结合业务去做设计和断言。 接着很多人还会觉得很牛逼的去找到BDD的框架,gem安装,套用cucumber和robotium。但是又会发现各种问题,在做这个事情之前继续试问,ruby gem管理你去学习了么?cucumber是啥知道了么?BDD框架源码结构有看过吗?step怎么封装知道吗?官方的github的wiki和issue有过一遍吗?都没有?那么你还问啥,先去看再做讨论。


推荐阅读