不知不觉,我在测试部的实习已经快三个月了,入职第一天的场景仿佛还在昨天。在实习之前,我对测试的认识仅仅停留在一些软件测试和测试方法的理论知识上,在学生阶段项目中的测试,最多也是对自己的代码进行一些单元测试。
我之前所理解的测试是与开发分开,测试人员只需要“鼠标点点点”,根据需求寻找bug,不需要写代码、看代码。然而,通过项目实践,我对测试工作有了真正的认识和见解,认识到测试前置的重要性,依据W测试模型,在需求和设计阶段就介入测试,尽早发现缺陷,如需求文档、设计可行性,也需要提前编写接口用例,例如在测试交易链路时,提前设计用例以覆盖链路的每个分支。除此之外,还需要深入代码的设计逻辑才能更好地测试。
实习第一周,安装测试常用软件和平台,做好测试前的预备工作:
实践项目:我主要参与了清结算业务线配置、pop售后维修、退款等项目的测试工作。项目的流程主要分为这几个阶段:
1、熟悉需求:根据PM所出的需求文档提前了解本期项目的背景、需求点。
2、需求评审:主要是PM讲述需求,作为测试人员,要积极参与其中,对一些模糊点或疑问点及时提出并解决,如果开发后再解决成本高。
3、设计评审:主要是技术评审,RD会对自己的库表、开发思路讲解,测试人员需要从中评估是否符合项目的功能性与非功能需求,并评估需求的可测性,提前思考和规划后续的测试方案。
4、用例设计:从需求中提炼出测试点,使用xmind编写用例,设计的用例要注意几点:
做好测试前置工作——编写接口测试用例,接口测试在接口开发完成后就可介入,不需要关注接口的内部实现逻辑,只需构造入参、校验出参。首先需要引入pom依赖查看接口,测试过程要做到几点:
首先需要构造交易完成的订单数据,其次需要构造申请售后需要的参数,如该接口需要一个Map,把数据通过
在做白盒测试时,要深入代码逻辑,使测试用例做到语句覆盖、判定覆盖、条件覆盖,提高测试的覆盖率,例如,对于多分支代码,用例需要考虑每个分支的情况,将所有if…else分支覆盖到,对于判定条件中有“||”或者“&&”的代码,设计的用例要覆盖每个条件。
除此之外,在设计用例时还需要使用等价类划分法、边界值法等方法,比如对于钱款相关的测试,边界值是必不可少的。
5、用例评审:“一千个人就有一千个哈姆雷特”,每个人对同一个需求的理解不同,关注点不同,总会存在一些遗漏点,因此需要其他人员评审用例是否存在遗漏,以保证测试用例的覆盖率,并对用例设计过程中存在的疑问点再次与PM确认。
6、开发自测&冒烟:根据测试人员提供的冒烟用例进行自测,自测完成后项目提测,并发送提测邮件,测试人员正式介入测试。
7、 测试阶段:测试环境分为动态测试机和稳定机两类,动态环境用来部署本次有改动的服务,稳定环境保持一套与线上一致全量服务并定时同步。测试工作主要是在动态环境上进行,需要在动态测试环境验证和沙箱环境验证。
(1)测试环境:环境平台上的一套多人共享、按需求隔离的环境,连接线下数据库,用于部署web/rpc服务。在测试环境中,首先验证冒烟用例是否通过,然后验证其他用例。在验证过程中,使用TAPD平台提交bug,对bug的复现描述要清晰,提交bug注意以下几点要素:
在测试过程中要注意在Beetle上查看代码的覆盖率,以防用例未完全覆盖修改的部分,用例全部测试完并通过后,才能进入沙箱环境验证。
(2)沙箱环境:一套预上线环境,连接线上数据库。沙箱验证时要谨慎,不能对线上用户造成影响。沙箱验证完成后,即可进入上线阶段。
8、上线阶段:在上线前要求RD梳理一下上线流程以及回滚方法。上线完成后,进行线上测试。
9、项目复盘:回顾项目的各个阶段,对过程中存在的问题进行总结、分析,吸取经验教训,避免出现重复错误。
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你~ 点击下方自行获取...
实践中的成长:
改进点:
实习的第一天,我就感受到了团队的生机与活力,感受到了大家对工作充满着热情。完全没有电视中的那种勾心斗角,在这个年轻的团队中,同事之间的交流无代沟,互帮互助,小组里的每位同事都为我这个测试小白解答了不少问题,很有耐心。工作之余,大家也很懂得劳逸结合,成功教会我打桌上足球
总之,感觉大家都是快乐地在工作,这种充满人情味的团队真的很吸引我。
作为实习前辈,给新人们一点小小的建议。首先,你需要一些“硬件”知识,我第一周所安装的工具,你也可以提前体验一下,就是这些“Xmind、SwitchHosts、Fidder、Xshell、IDEA、Git、Maven、SourceTree”。还有,我们QA也是技术人员哦,可以学习一下Java编程、SQL的常用语句、计算机网络等等技术知识。如果你想学习测试相关知识,建议学习一些软件测试理论,黑盒测试方法、白盒测试方法,自己学会编写测试用例,然后了解一下单元测试、TestNG、接口测试、自动化测试、性能测试等等。如果你想提升自己的测试能力,平时多留意身边的bug,提升发现问题的能力,再多找些QQ群加入,你会有意想不到的收获。
在业务测试方面,熟悉自己负责的业务、与自己相关的业务、公司其它业务,学会看RD的代码,了解开发的过程,以便更好地测试;在测试方法方面:我需要了解并学习团队现有的测试方法,并不断探索新的测试方法;在技术方面,多看一些技术型文章,了解测试技术的发展趋势,学习一些新的技术和测试方法。