测试结果居然还能这么用?!
随着开发的逐渐深入从节省时间、资源和提高测试效率的角度来说自动化用例必然会成为一个大众型选择。并且几乎大大小小的软件公司都在朝着测试自动化的脚步迈进。那么我们应该如何有效地利用自动化测试结果挖掘问题或者说如何通过自动化测试结果分析出一些问题呢当然这里的问题不全指代码故障也可能包括测试脚本问题。首先让我们来看看软件公司常用的将自动化测试嵌入开发流程方法。提及此不得不提到DevOps开发运营一体化。传统DevOps流程包括设计——开发——测试——部署如下图所示。构建DevOps流程需要一个持续化集成工具如Jenkins被多数公司青睐。那么我们如何使用Jenkins工具将自动化测试嵌入DevOps流程呢简单讲述下Jenkins配置自动化测试嵌入DevOps流程的几个关键点和常见问题。配置参数你需要配置测试所需的、外部控制的一些参数比如测试环境 地址。通过Jenkins的“This project is parameterized”配置项设定配置完成后可改变该测试项目的启动参数样例如下图所示设定定时或触发机制你需要设定一个定时或触发自动化测试的机制在DevOps流程中测试在开发环节之后。而持续集成实践中往往设计开发代码变动就触发回归测试或定时进行自动化测试因此可通过Jenkins设置自动化测试触发机制为Jenkins项目触发通过Build after other projects are built设置或定时触发通过Build periodically设置。样例如下图所示启动测试用例你需要设置启动测试用例的脚本或命令启动测试用例是DevOps测试环节的关键步骤在Jenkins工具里。可通过Command配置项进行设定样例如下图所示如此这般关键配置完成后你就可以触发Jenkins测试项目运行坐等测试结果了。接着让我们来分析一下自动化测试结果吧。分析结果从执行结果来说测试用例运行结果无非两种情况通过或失败。作为测试人员来说往往更关注的是失败的测试用例。因为失败的测试用例往往隐藏着一些不可知的问题。那么这些问题都可能有什么呢我们把测试用例失败的问题大致分为两类开发代码问题或非开发代码问题开发代码问题指的是程序功能与预期不一致导致的问题即通常所说的代码bug非开发代码问题又可分为运行环境问题和测试代码问题如下图所示。让我们来看看如何利用自动化测试结果分析测试中发现的问题开发代码问题、环境问题和测试代码问题。问题分析作为测试人员当我们不好判断是不是属于开发代码问题的时候我们可以从我们熟悉的领域入手先判断是不是属于环境问题和测试代码问题。如果都不属于这两类的时候我们就可以收集证据将问题提交给开发人员分析。测试代码问题分析测试代码问题细分来说有测试流程设计问题测试脚本错误。测试设计不合理问题主要有测试脚本中测试步骤设计不合理的问题和测试用例互相依赖的问题。如测试某个应用删除接口期望删除a服务成功。但是在脚本测试步骤设计过时缺少对待删除a服务已存在的校验导致直接使用删除接口删除a服务报错a服务不存在的问题。测试脚本错误主要在于测试人员开发测试代码时引入的错误如缺少参数、传参错误、函数引用错误、断言错误等等。环境问题分析通过测试用例执行结果报告有的问题属于环境问题可以一目了然如环境资源告警、缺少测试用例需要的python或jdk环境配置等。但也有的属于需要进一步分析的问题如被测程序网络抖动内存释放不及导致的内存越界等等。对于第二种情况常见的特征是用例并非稳定失败可能在其他时间段运行时用例结果为通过。开发代码问题排除了测试代码问题和环境问题我们就可以来分析失败的测试执行结果是否是由于开发代码问题引入的。通常情况下当测试人员在对被测功能很了解、测试用例设计无误的情况下能够很自信地判断失败的用例是否是代码问题引入的。如同样是某个应用删除服务接口前置条件是待删除服务存在执行接口删除操作期望服务删除成功。但结果是接口响应删除成功但查询时显示服务残留了不是被新注册的。由此你可以很自信地向开发人员提交Bug。但是当测试人员无法确定失败的用例是由开发代码引入时对于并发测试尤其常见这个时候需要测试人员收集足够的信息提交给开发人员分析。这些信息可以且应该包括测试环境、测试方法、错误现象、复现频率以及相应的开发代码日志如果可以获得的话。最后让我们来拓展下针对测试代码问题和环境问题进行测试用例层面的修正或规避方法问题列表和处理建议如下表所示通过对自动化测试用例执行结果的分析能够帮我们梳理错误的类别和定位错误的原因帮助测试人员优化测试脚本、提高测试脚本。更多的是能够过滤非开发代码问题节省开发人员甄别错误的时间消耗。此外对提高测试人员专业性也有助益。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。