测试工程师经常遇到的问题有:
· 开发的提测质量不佳,开始提测之后明明还有许多功能没有开发完整就提测,导致测试延期
· 经常出现功能漏测的情况,无法保障产品质量
· 经常出现明明测试过的功能,测试通过之后又出现重复的bug
· 测试环境没问题,但是线上环境就是出现了问题
针对第一种提测质量不佳的情况
测试同学做到规范冒烟测试流程,可以提高开发的产品质量意识,冒烟测试通过之后才算正式进入提测环节,这样可以很好的判断到底是因为开发质量问题延期,还是测试慢延期。
冒烟自测流程如下:
QA同学负责用例输出,开发同学执行接口/功能/场景用例,QA同学负责复杂场景及功能走查验收。
项目的冒烟质量通过率如下:
针对第二种功能漏测的情况
测试同学可以采用科学的用例设计方法,如正交分析法。
正交分析法简要介绍:
某所大学计算机系共2个班级,刚考完的某一门课程,需要通过“性别”、“班级”和“成绩”这三个查询字段对计算机系这门课程的成绩分布,根据男女比例或班级比例进行人员查询:
· 根据“性别”=“男,女”来进行查询
· 根据“班级”=“1班,2班”来查询
· 根据“成绩”=“及格,不及格”来查询
· 按照传统设计——全部测试
分析上述的测试需求,总共有3个被测元素,这个时候,被测元素我们称为因素,每个因素有两个取值,我们称之为水平值,所以全部测试用例个数是2*2*2=8,参见下表:
但是这么设计测试用例比较复杂和冗余,容易出现思考不全面的情况。
所以利用正交表法来设计测试用例,我们可以得到的测试用例个数是n=3*(2-1)+1=4,对于三因素两水平的这种情况,刚好有L4(23)的正交表可以套用,于是通过用正交表试验法得出4个测试用例如下:
根据实际需要可以在用正交试验法设计用例的基础上补充一些测试用例。
针对第三种bug重复出现的问题
测试的同学需要引入测试自动化来解决,自动化测试在当前市场上应用非常广泛,主流有接口自动化测试和UI自动化测试。在此基础上,加上持续集成,就能实现全自动化测试。
自动化测试是一个很广义的概念,一般说来所有能替代人工测试的方式都属于自动化测试,我们一般说的单元测试就是自动化测试的一种,单元测试很多人称之为“毫秒级的自动化测试”。
自动化测试是很难的,从某种意义上来说比性能测试更难。性能测试可以依仗的东西很多,比如LR等,而自动化测试的工具很多情况下只是一个半成品,比如selenium webdriver,你需要花很多时间去使用代码编写用例,并且维护这些用例,这一过程是漫长而艰辛的,特别对一些没有开发经验的测试同学来说,这个过程非常痛苦,每天的工作内容好像是自虐,而且自虐一段时间后信心基本崩溃,从此谈自动化色变,把所以的错归结于自动化测试策略与技术,而不从本身去找问题。
针对线上环境的质量问题
测试的同学可以做到:
线上同时建立一个测试的环境(暂且称为线上测试吧),所有的数据都是线上真实的数据,只有访问的api接口地址不一样(nginx中配置下),线下测试环境好以后,线上测试拉取最新代码,进行测试,测试完成无问题后,以打标签的方式:
git tag -a v1.1 -m 'new version for som'
进行稳定版本的管理,线上生成环境拉取最新代码,并切换到新的tag上:
git checkout v1.1
总结
虽然工作当中经常遇到这些形形色色的问题,归根究底,在于测试流程的规范上,只有完善的测试流程和测试保障制度,才能避免bug重复出现,测试漏测的情况,开发提测质量不佳的情况。测试人员最核心的工作就是保障项目的质量,各类测试流程、技术、工具和平台的使用可以辅助我们,可以更好地保证项目的质量。除此之外,测试不仅仅是对功能上的测试,还在于自身技能成长,要做到减少重复性劳动,努力从工作当中去锻炼自己自动化测试的能力,不断提高测试素养,这样就可以升职加薪!!!
作者:Henry
来源:http://www.51testing.com/html/11/n-4478911.html