敏捷模式下迭代频繁,回归测试时总是不知道变动的范围。
Devlop 有的时候也不知道他改了哪些东西,影响到哪些节点,或者是很多人改的,彼此不知道。
碰着有代码洁癖的,改了别人的代码,大家都不知道。
常日情形是,要么测试范围定小了,遗漏了;要么测试范围过大,付出过多代价。
每次回归,测试心里总没底,恐怕漏了哪里。
如何才能准确定位到变更范围呢?

项目测试过程的痛点:

1.迭代更新快,人力有限

中行系统PHP代码转现代码变革赶上精准测试的总结 AJAX

2.多分支代码合入到主干分支,修正哪个文件哪个行,测试不可控。

3.代码更新影响哪些功能无感知

4.盲测,上线风险大

5.无法更加精准监控代码质量

6.不能做到高效精准,不可衡量ROI

办理方案:风雅化测试探索

1流程图:

整体架构图2录制自动化测试+phpcoverage 合营落地XDEBUG文件,解析覆盖率文件,天生文件-行号/函数-用例 映射关系表【phpcover_process.py】

XDEBUG_IP做事ip_DATE日期.txt 文件如下:

一个case涉及到的文件遍历明细

1个api->n个file->line_no凑集->n个testcase凑集

1个api->n个file->n个functionName->n个testcase凑集3基于git diff 针对版本号之间的差异化剖析.【git_diff.py】

2.1过滤干系文件(phpunit,js,test文件,vendor公共库)

2.2记录当前代码分支版本号(分支-旧版本-新版本-系统-环境)

2.3针对新版本号和旧版本号 文件中行变革的明细入库(版本号-文件-旧行号-新行号-变更类型class fun)

diff 文件

项目-分支-旧版本-新版本-环境

版本号修正的文件(文件,旧行号,新行号,类,函数名,系统)

4天生命中的测试用例【down_accurate_case.py】

事理图:

待测json文件

天生须要实行的apiList 对应的caseId5插桩-自动化测试(指定case_id顺序实行)-毛病数量回写DB【accurate_runcase.py】

自动化测试实行日志

版本-实行的api-数据统计(实行数-创造bug数)

天生自动化测试报告6统计精准测试效果数据统计【accurate_stat_image.py】

精准测试报告7.最新跑完的测试覆盖率数据新增/更新/删除 文件-用例-行/函数 覆盖率关系表,形成闭环为下次精准测试做铺垫【phpcover_process.py】

总结

·风雅化测试基于自动化覆盖率到达一定量的根本上去做比较故意义。

·通过这个探索能让我们更加深入的去理解被测系统及架构,在保障质量的条件下,在不断的版本迭代过程中更加高效、可靠、自傲地制订合理的测试操持和实行我们的测试事情。

·被测系统php 措辞+ git代码管理,暂不包含js的精准性测试,测试解析措辞:python。