Tech 导读 测试新手刚进入工作时,应该掌握哪些知识,需求测试过程中需要着重注意哪些方面呢?本文主要围绕基础测试知识,结合实际测试过程中遇到的问题,总结出一套对应的解决方案,包括测试用例的设计、执行以及测试过程中的沟通等方面,希望读者可以从中受益。
01
测试用例设计
在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!
测试用例是测试过程核心部分,在用例评审过程中可以直观的看到场景的覆盖率,减少无用和冗余的用例。测试用例是测试进行的第一步,一般情况下老手们会熟练的根据自身积累的业务知识、测试经验以及代码逻辑进行用例设计,对于业务还不熟悉的新手小白,该如何设计用例,跨出这开始的第一步呢?在刚入职的前三个月中工作历程中,也总结了一些自己的方法。
首先,个人可自行准备一些基础的测试用例设计的基础理论:包括边界值分析、等价类划分等。其次针对业务知识的积累,在新手入门的时候,无法系统的掌握整个业务的架构,但是在进行测试的时候,有一些小技巧,可以帮助在没有掌握整个业务流程的时候展开测试,这不是一个一蹴而就的事情,需要小白们在不断的测试和自主的学习中进行积累。最后,在设计用例的时候,可以根据不同的维度进行设计,如接口、页面等。
1、基本的测试用例设计方法
•基本的测试用例设计方法(边界值分析、等价类划分等)。
•业务和场景的积累,了解测试需求以及易出现的bug的地方。
•多维角度设计测试用例(用户、业务流程、异常场景、代码逻辑)。
2、需求分析
•获取原始需求,结合实际场景确保需求描述的完整性。
•需求产生的原因和价值(产品需求/研发需求;优化迭代、老应用增加新功能、新系统开发)。
•不同类型的需求侧重不同的测试点(运营功能、JSF接口、定时任务等)。
3、测试用例设计
•通过需求评审、业务和场景的积累、结合开发与产品的文档资料、以及通过多渠道学习测试用例设计方法,完成测试用例的设计。
•测试用例模板:标题、配置条件(测试工具、中间件的使用情况)、测试数据、用例执行的先后顺序(先冻结再解冻,需对原单号进行解冻、用例的优先级)、预期结果(错误场景返回结果是否合理)等。
•根据不同的需求测试类型(JSF接口测试、页面测试、新增数据表、JDOS迁移等类型)总结测试用例模板。
02
测试用例执行
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标
如何执行测试用例以及如何模拟场景关系到测试效率和测试的覆盖率,在起步阶段,可以先咨询周围的前辈老手们,选择使用大家常用且最高效的测试手段,还有咱们公司自己开发一些测试平台如deeptest、EasyOne等,快速的执行测试用例,并且记录下测试用例,便于后续回归使用。
在测试的过程中,不可避免的会出现一些bug,对于bug的准确和快速定位,可以帮助更加高效以及高质量的完成测试任务,确保项目按时且高质量上线。新人刚进入测试的时候,会遇到一些bug,由于不了解业务,可能会遇到一些由于测试脏数据产生的bug等,需要与开发进行沟通,在业务以及经验的积累下,减少很多由于测试环境和测试数据产生的bug的沟通成本,节约时间,提升效率。
1)利用各类测试手段(如deeptest平台、Java testNG框架、schedule等)执行测试用例,快速定位bug。
2)bug分类(前端bug/后端bug、测试平台的问题/需求bug、测试脏数据、日志缓存过多)。
3)bug复现(重复执行原测试操作、是否为数据库中的脏数据、前后端交互界面考虑网络问题等)。
4)难以复现的bug,确定bug类型,找出原因,确保满足上线要求。
03
测试流程规范性
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。从设计稿出发,提升页面搭建效率,亟需解决的核心问题有:
1)在行云平台上规范测试过程(测试排期、bug管理、测试报告等)。
2)要求研发规范提测范围和流程(明确改动点和影响范围)。
04
测试效率提升
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
1)通过业务积累和测试工具的掌握,提升工作效率,京东小店账务系统的改动(11个接口)四天左右测试完成,并提前上线。
2)总结各类测试用例模板。
3)明确与工作交接伙伴沟通的重点与方式。
05
沟通协调能力
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
沟通能力是测试同学不可或缺的一个技能,在测试过程中,我们不仅需要自己的同事领导,还需要与开发同学、产品同学,甚至包括项目经理和运营同学沟通,这也是测试任务的一部分。高效的沟通,解决工作中遇到的问题是也是我们需要掌握的技能。在沟通的过程中,会出现很多分歧,需要大家心平气和的去解决,达成共识。在测试过程中,也收获了一些心得。
1)掌握开发知识与业务知识的专业术语,提升沟通效率。
2)记录多个问题,一并沟通。
3)沟通方式方面,先保证测试步骤是正确的,将bug截图、日志错误、问题描述精准表述。
4)保证交流的焦点集中在急需解决的问题上。
5)开发人员的表述,保持高度警惕和怀疑精神,亲自验证及分析后再判断。
06
总结
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
文章介绍了一些测试的基础知识,其中每个大模块的小点,都能够且需要进一步的完善和提升,增强自身的测试水平。比如说,在测试用例设计过程中,深入了解业务知识,如何快速全面了解整个产品?问题追踪分析时,提出bug之后定位到具体问题,如何帮助研发提升代码质量?未来的路还很长,需要成长和学习的地方还有很多。