哈哈,很奇怪,我一个开发,竟然跑去测试组干了几个月,说来也很让人吃惊吧,不过确实是真实存在的,当时测试组人员完全不够,所以呢,我就当成了测试组半个测试人员啦,不过干的时间也不长,就差不多一个月多吧,就告别了那一次短暂的测试体验,那段时间也让我感概万分,有欢乐,也有苦累,也许这就是测试组人员的经历吧,当测试你会看到不一样的软件全局观。反正这段时间里学到了很多,也都成为了我人生中的宝贵财富,是值得珍惜和怀念的。
当时测试主要测软件的整体流程、分支流程、接口性能等,其中用到的工具有 Jmeter、OpenSTA、Bugfree、AutoRunner、PostMan 等工具,其中各项指标可以通过 ElasticSearch 或者是 Prometheus+Grafana 进行查看。如下所示:
其中软件的整体流程、分支流程测试阶段,需要测试能够对产品提的需求理解的非常透彻,并且需要提前书写一份温评审通过的测试计划才能够进行测试,不然测试完之后和产品的理解不一样,那么开发和测试都需要返工,就非常浪费时间。分支流程测试一般是一个小组对应一个测试人员,专门负责你这个分支流程测试,同时开发开发完的接口必须文档化,否则测试很难看懂一堆参数表示设么意思,文档化有利于测试测试,并且更友好的进行沟通。
其实有时候一些功能测试,完全是可以通过 Python 或者 Go 编写脚本,让其自动化测试,测试只需要等待结果输出即可,如下所示:
import pyttsx3,PyPDF2
pdfreader = PyPDF2.PdfFileReader(open('story.pdf','rb'))
speaker = pyttsx3.init()
for page_num in range(pdfreader.numPages):
text = pdfreader.getPage(page_num).extractText()
cleaned_text = text.strip().replace('\n',' ')
print(cleaned_text)
#speaker.say(cleaned_text)
speaker.save_to_file(cleaned_text,'story.mp3')
speaker.runAndWait()
speaker.stop()
这也可以节省很多时间干其他事情。当测试完成之后,需要进行复盘,也就是再次走一遍整体、分支流程,此时如果测试遇到数据上的问题,开发需要及时将脏数据清除,这样可以让测试更好复盘,同时也可以保证软件的整体质量,毕竟大家都是为了让客户能够有更好的体验,谁也不需要出现 Bug。测试之后,测试就需要写一份测试报告进行总结分析。
测试如果测试完成之后,那么就需要等待产品的验收阶段,产品验收没有问题,那么这个功能需求完成,最后就是等待上线时间。
最后想问问大家,是不是很多人都和我一样呢?认为软件测试工作很简单,只需要滚动鼠标,调调接口就可以就完事,其实不然,测试可以说比开发还要更累,测试要肩负着软件中最后一道保证,一个产品的好坏和测试能给你找出多少 Bug 成正比。