如何做好开发自测
<p> 最近做研发质量分析,大家共同提到了一个改进措施:<span style="color: rgba(0, 128, 0, 1); font-size: 13px"><strong>加强开发自测!</strong></span></p><p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 但是如何加强开发自测、怎么做好开发自测?带着这个问题,进入我们今天的分享:</span></p>
<p><span style="font-size: 15px"><strong><span style="color: rgba(0, 0, 0, 1)">一、开发测试小记</span></strong></span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 开发同学功能开发完成后,简单自测通过后,填写提交单提交测试,然后:</span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 制作的补丁,打到测试环境,发现丢了一些SQL、Dll、配置,然后提交单被测试无情地打回。 </span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 即便补丁更新成功,扛不住测试用例的第一轮饱和测试,出现影响测试进展的Bug,或者Bug太多,满足打回标准,提交单继续被无情打回。</span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 提交单打回后,开发同学集中修复了Bug,再次提交测试。正常情况下,第二轮功能测试发现的Bug会大幅减少,如果重新提交的补丁质量不佳,修复Bug的同时,带来了更多新的Bug,提交单还是有可能继续被打回。</span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 功能测试通过后,进行性能测试,并发压力上来后,功能被打爆、数据库被打爆、MQ被打爆,提交单再次被打回。 </span></p>
<p><strong><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> ……</span></strong></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 13px"> 上面的场景,大家都很熟悉,很多开发、测试同学通过都经历过。我们如何用真正的行动来加强开发自测,提升交付质量?</span><strong><span style="color: rgba(0, 0, 0, 1); font-size: 13px">我们需要有一套开发自测方法论:</span></strong></p>
<p><span style="font-size: 15px"><strong><span style="color: rgba(0, 0, 0, 1)">二、开发自测方法论</span></strong></span></p>
<p style="margin-left: 30px"><strong><span style="color: rgba(0, 0, 0, 1); font-size: 13px"><img src="https://img2018.cnblogs.com/blog/23525/201910/23525-20191015202143556-829112123.png" alt="" width="398" height="51"></span></strong></p>
<p> </p>
<p style="margin-left: 30px"> <img src="https://img2018.cnblogs.com/blog/23525/201910/23525-20191015202201200-1668814412.png" alt="" width="580" height="406"></p>
<p style="margin-left: 30px"> 我们详细展开讲一下:</p>
<p> <strong>1. 思想意识上,提升对自测的重视程度</strong></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>开发阶段不仅是代码开发完成,编译通过,更重要的是自测通过。</li>
<li>自测工作投入应该占开发阶段整体投入的30%,如果保证不了资源投入,自测只是一个形式;</li>
<li>自测工作必须覆盖全面的自测场景:正向、逆向、正常、异常、并发性能等等;</li>
<li>自测是开发阶段最重要的一环,如果不重视自测,测试阶段可能会产生大量的Bug、提交单被打回、直接影响研发进度。</li>
<li>自测直接决定了<span style="background-color: rgba(0, 255, 0, 1)"><strong>产品的质量</strong></span>。</li>
</ul>
</li>
</ul>
<p><strong> 2. 自测的PDCA之-<span style="background-color: rgba(0, 255, 0, 1)">Plan计划</span></strong></p>
<p> 开发阶段,要加强自测工作的详细规划和资源投入:</p>
<p> 这里我们用的Scrum 迭代研发,以下是自测任务计划情况:</p>
<p> <img src="https://img2018.cnblogs.com/blog/23525/201910/23525-20191015202545392-1302351353.png" alt="" width="816" height="324"></p>
<p> 自测工作在迭代拆分计划时,要尽可能的覆盖环境搭建、单元测试、联调测试等工作,并合理估计投入时间。</p>
<p> 同时具备完整的<span style="background-color: rgba(0, 255, 0, 1)">自测表</span>,功能覆盖度尽可能全。</p>
<p> <span style="font-size: 14px"><strong> 3. 自测的PDCA之-<span style="background-color: rgba(0, 255, 0, 1)">Do执行</span></strong></span></p>
<p> <strong> 自测环境搭建:</strong>本机自测环境、Docker联调环境</p>
<p> <strong>单元测试:</strong>保证核心方法、接口、场景都能覆盖到,必须有完整的断言。主要包含:</p>
<ul>
<li style="list-style-type: none">
<ul>
<li>测试数据准备、准备Mock方法</li>
<li>主流程正向测试</li>
<li>主流程逆向测试</li>
<li>详细功能-正常场景测试</li>
<li>详细功能-异常场景测试</li>
<li>并发性能测试</li>
<li>测试数据清理</li>
</ul>
</li>
</ul>
<p> <strong>接口自动化测试:</strong>基于接口自动化测试工具,实现接口的自动化测试</p>
<p> <strong>集成测试:</strong>补丁更新后全面功能测试,前后端联调,保证自测功能表上所有功能都能自测通过。</p>
<p> 同时,自测尽可能的保证<span style="background-color: rgba(0, 255, 0, 1)"><strong>自动化、可重复执行</strong></span>!</p>
<p> <span style="font-size: 14px"> <strong> 3. 自测的PDCA之-<span style="background-color: rgba(0, 255, 0, 1)">Check评估</span></strong></span></p>
<p> 如何评估、衡量自测的质量:<span style="background-color: rgba(0, 255, 0, 1)"><strong>以关键结果为导向!</strong></span></p>
<p> <strong>测试Bug检出率:</strong></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>通过测试发现的Bug,要低于自测发现的Bug</li>
<li>如果测试检出率过高,需要详细做5why分析,为什么自测未发现</li>
</ul>
</li>
</ul>
<p> <strong>单元测试代码覆盖度</strong></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>核心方法是否都通过了单元测试</li>
<li>单元测试代码覆盖度</li>
</ul>
</li>
</ul>
<p> <strong> 单元测试通过率</strong></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>所有单元测试必须包含完整的断言</li>
<li>所有单元测试必须全部测试通过</li>
</ul>
</li>
</ul>
<p> <strong>自测功能覆盖度</strong></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>自测表是否覆盖所有的功能点</li>
<li>自测表功能测试全部通过</li>
</ul>
</li>
</ul>
<p> <span style="font-size: 14px"><strong>4. 自测的PDCA之-<span style="background-color: rgba(0, 255, 0, 1)">Act处理、完善</span></strong></span></p>
<p> <img src="https://img2018.cnblogs.com/blog/23525/201910/23525-20191015203538137-25711589.png" alt="" width="1138" height="88"></p>
<ul>
<li style="list-style-type: none">
<ul>
<li>完善单元测试:增加核心方法测试覆盖、测试数据覆盖、单元测试场景覆盖</li>
<li>增加自测功能覆盖度:覆盖更多自测功能,很多没想到的测试点,增加到自测功能点中</li>
<li>增加资源投入和工作规划:通过实际评估,合理加大自测资源投入和工作规划</li>
<li>结对测试:自己开发的功能很多Bug可能测试不出来,结对测试,可以发现更多的Bug</li>
<li>功能演示&Review:以用户的视角、需求的视角,Review已实现的功能,发现更多的Bug,完善到自测场景中。</li>
</ul>
</li>
</ul>
<p> 其实还有很多其他的方法和讨论来提升开发自测,同时提升自测的质量是一个不断完善和改进的过程!</p>
<p> 以上是近期做开发自测的总结,欢迎大家继续补充。</p>
<p> </p>
<p>周国庆</p>
<p>2019/10/15</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/tianqing/p/11680091.html
頁:
[1]