自动化测试技术笔记(一):前期调研怎么做

简介: 虽然说自动化测试比较偏技术工作,但在开展前,明确你的工作目标和KPI也是不可忽视的一点。并不是说技术优秀就可以拿到好的绩效,企业生存第一法则是先活下来做产出,再考虑锦上添花和技术优化的事。

昨天下午在家整理书架,把很多看完的书清理打包好,预约了公益捐赠机构上门回收。


整理的过程中无意翻出了几年前的工作记事本,里面记录了很多我刚开始做自动化和性能测试时的笔记。虽然站在现在的角度来看,那个时候无论是技术细节还是整体思路都不够完善,但也有一些值得回味的点。


这篇文章,我将笔记里一些值得借鉴的内容提炼总结了出来,供大家参考。


工作背景


之前都是在零售快消品行业做功能和接口测试,自动化测试在工作中的占比只有30%左右。


大概是18年上半年,入职了一家电商企业做专职的自动化测试工作,当时其实也是有一定压力和挑战的。一方面那个时候测试团队做专职技术工作的就我一个人,领导期望和KPI压力还是比较大的;另一方面,电商的业务场景和技术复杂度较零售企业也不一样,需要一定的学习成本。


下面的内容,是我当时从零开始做自动化测试的一些实践,对新手同学应该能有所帮助。


刚入职新公司,无论是做业务测试或者技术专项,前期的调研工作是必不可少的。我个人认为在前期的调研阶段,以下几方面是比较重要且必不可少的。


业务流程和场景(业务)


自动化测试的主要目的是提高回归效率。以电商业务场景为例,如下几方面业务流程是比较典型的:


  1. 用户登陆流程
  2. 会员注册流程
  3. 用户导购流程
  4. 下单支付流程
  5. 后台处理流程
  6. 售后服务流程
  7. 仓储物流流程


我当时刚入职的前半个月,基本都在做前期的调研工作。当然,所谓的调研并不是说找各个模块的研发测试人员一对一访谈这种形式,我更建议去深入到具体的日常工作中,比如参与技术评审、版本迭代、项目复盘


这样做相比于一对一访谈的好处,一方面是可以更快速的熟悉当前的团队研发测试流程,另一方面也可以对后续工作开展的业务场景和技术架构有一个大体的了解


被测系统技术架构(技术)


了解被测系统的技术架构是很多同学埋头做自动化测试经常忽略的,这点其实特别重要。


要了解系统的技术架构,新手可以重点关注如下几点:


  1. 请求入口:比如web端、移动端(区分Android和iOS),这会影响到后续的工具和框架选型设计;
  2. 数据库表结构:自动化测试所需的测试数据落库,以及结果校验、字段类型等都是测试过程要考虑的;
  3. 前后端技术栈:UI自动化必须熟悉前端框架,这样能避免后续的元素定位提取时踩坑;接口自动化也需要熟悉后段的技术框架甚至部分代码实现,有些技术难点(比如验证码、过滤规则、白名单配置、运费计算逻辑)都可以利用已有的封装好的接口或服务来快速实现;
  4. 技术技术组件:比如配置中心、注册中心、发布平台、代码管理工具等;


明确工作目标和KPI(产出)


虽然说自动化测试比较偏技术工作,但在开展前,明确你的工作目标和KPI也是不可忽视的一点。并不是说技术优秀就可以拿到好的绩效,企业生存第一法则是先活下来做产出,再考虑锦上添花和技术优化的事


工作目标和KPI如何明确呢?我个人的建议如下:


  1. 根据调研结果心里对现状有个大致了解(业务复杂度、技术难度、落地成本);
  2. 多和你的领导沟通,从他那里获取有用信息(他想要的结果、覆盖范围、产出内容);
  3. 和团队其他同学以及有协作关系的技术同学打好关系(便于更好的了解工作细节以及工作开展时获得支持配合);
  4. 通过文档或者ppt形式和你的直属领导再次沟通(当前现状是什么、落地挑战是什么、需要什么样的支持配合、你的落地规划是什么、先做什么后做什么、这样做的原因是什么、这样做解决了什么问题&带来了什么价值);


工作开展区分优先级(落地)


通过前面的几项工作,当你对当前现状和业务以及技术有一定了解后,就需要出具具体的落地方案了。其实落地方案很简单,无非就是说明做什么,解决什么问题,通过什么方式,需要哪些配合和资源,优先级是什么


如果是一个人从零开始落地自动化测试,我个人觉得比较重要的工作有如下几点:


  1. 自动化测试环境(和功能测试环境混用还是单独搭建);
  2. 测试脚本和数据如何管理(Git+gitlab、Excel/配置文件/数据库);
  3. 测试报告正确性和结果验证有效性如何解决(如何生成报告/发送给谁看/异常情况如何比对);
  4. 自动化测试的覆盖范围和粒度(第一阶段/第二阶段各是什么,具体的指标来衡量);
  5. 如何解决持续集成和快速回归验证(jenkins/CICD,自己搭建还是利用团队已有的工具平台,需要谁配合);


以上内容来源于我之前做自动化测试工作时的一些笔记内容,稍加提炼和修改。下一篇我会聊聊做自动化测试前期的一些准备工作的细节。

相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
深入探索软件测试中的黑盒测试技术
本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
|
3天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的前沿技术与实践
自动化测试作为提升软件开发效率和质量的关键工具,正经历着前所未有的变革。随着人工智能、机器学习、云计算等技术的融合与创新,自动化测试不断突破传统界限,展现出更智能、更高效、更灵活的发展趋势。本文将深入探讨自动化测试领域的最新技术进展,分析其在现代软件开发中的应用,并讨论如何有效整合这些技术以最大化测试效率和准确性。
|
4天前
|
机器学习/深度学习 人工智能 机器人
现代软件测试中的自动化工具与技术
随着软件开发复杂性的增加,自动化测试在现代软件开发中变得至关重要。本文探讨了当前流行的自动化测试工具和技术,以及它们如何提高软件质量、加快发布速度和降低成本。
16 1
|
5天前
|
机器学习/深度学习 人工智能 运维
现代企业中的自动化运维技术与挑战
随着信息技术的迅猛发展,现代企业在面对日益复杂的技术架构和运营需求时,越来越多地依赖自动化运维技术来提升效率和稳定性。本文探讨了自动化运维技术的实施现状、关键挑战以及未来的发展方向,旨在为企业决策者和技术从业者提供深入的思考和实践指导。
19 1
|
7天前
|
机器学习/深度学习 人工智能 数据处理
AI技术来支持开发过程中的自动化和智能化
AI技术来支持开发过程中的自动化和智能化
153 2
|
7天前
|
机器学习/深度学习 人工智能 Devops
探索软件测试自动化的未来:技术挑战与机遇
随着软件开发周期的不断缩短和复杂性的增加,软件测试自动化在确保质量和效率方面扮演着越来越重要的角色。本文将深入探讨软件测试自动化的发展现状、面临的技术挑战以及未来的机遇。
12 2
|
11天前
|
机器学习/深度学习 敏捷开发 人工智能
探索软件测试中的AI辅助技术
【6月更文挑战第12天】在软件开发生命周期中,测试环节是确保产品质量的关键环节。随着人工智能技术的飞速发展,AI辅助的软件测试方法正在改变传统的测试流程。本文将探讨AI如何优化测试过程,提高缺陷检测的准确性和效率,并预测未来AI在软件测试领域的应用趋势。
19 1
|
3天前
|
机器学习/深度学习 人工智能 算法
智能家居技术的未来:从自动化到自主
本文探讨了智能家居技术的发展趋势,从早期的自动化设备到现今的智能系统,再到未来可能实现的家居自主化。分析了当前技术的限制、未来的发展潜力以及实现家居自主化所面临的挑战和机遇。文章旨在为读者提供一个关于智能家居技术演进的视角,并探讨这一领域未来的发展方向。
|
3天前
|
人工智能 程序员 API
通义万相AIGC技术的测试体验
通义万相AIGC技术的测试体验
13 1
|
6天前
|
机器学习/深度学习 运维 监控
自动化运维技术在云计算环境中的应用
本文探讨了自动化运维技术在云计算环境中的应用。通过分析云计算的特点和挑战,以及传统运维方式存在的问题,提出了自动化运维的必要性。文章介绍了自动化运维技术的基本原理和常见的应用场景,并详细阐述了其在云计算环境中的优势和实际效果。最后,文章展望了未来自动化运维技术的发展趋势,强调了其对于提高云计算服务质量和效率的重要作用。
11 0

热门文章

最新文章