==============说明:总结整理来源于网络,并非独立原创==============
测试策略设计能力是指:对于各种不同的被测软件,能够快速准确地理解需求,并在有限的时间和资源下,明确测试重点以及最适合的测试方法的能力。
测试策略通常需要重点关注以下内容:
- 测试要具体执行到什么程度
- 测试需要借助于什么工具
- 如何运用自动化测试以及自动化测试框架,以及如何选型
- 测试人员资源如何合理分配
- 测试进度如何安排
- 测试风险如何应对
如何提升:如果将测试技术比作是一招一式的武功话,那么这里的测试策略设计能力更像是长年累月刻苦修炼的内功。不像测试技术,这个是一定是需要在大量实践的基础上潜移默化形成的,来源于平时地点滴积累和总结。
如何提升:来源于平时积累,多写,多想。对常见的缺陷模式、典型的错误类型以及遇到过的缺陷,要不断地总结,归纳,逐步形成体系化的用例设计思维。
这里的学习能力,指的是两个点:
- 对不同业务需求和功能的快速学习与理解能力;
- 对于通用测试新技术和新方法的学习与实际应用能力;
如何提升:针对学习新的开源工具时,建议直接查看官方文档。一来,这里的内容是最新而且最权威的;二来,可以避免网上信息质量的良莠不齐。另外学习新内容时,一定要做到理解其原理,而不只是停留在表面、简单的操作和使用,长期保持这种学习状态,可以很大程度上提高逻辑思维和理解能力。
探索性测试是指:测试工程师在执行测试的过程中不断学习被测系统,同时结合基于自己经验的错误猜测和逻辑推理,整理和分析出更多的有针对性的测试关注点。
缺陷分析能力通常包含以下三点:
- 1、对于已经发现的缺陷,结合发生错误的上下文以及后台日志,可以预测或者定位缺陷的发生原因,甚至可以明确指出具体出错的代码行,由此可以大幅缩短缺陷的修复周期,并提高开发工程师对于测试工程师的认可以及信任度;
- 2、根据已经发现的缺陷,结合探索性测试思维,推断同类缺陷存在的可能性,并由此找出所有相关的潜在缺陷;
- 3、可以对一段时间内所发生的缺陷和趋势进行合理分析,由点到面预估整体质量的健康状态,并能够对高频缺陷类型提供系统性的发现和预防措施,并以此来调整后续的测试策略。
自动化虽然很受欢迎,但是应该坚持两个原则:
- 1、自动化测试的核心价值还是 “测试” 本身,“自动化” 仅仅只是手段,实际工作中不应本末倒置,把大量精力和时间放在 “自动化” 上,一味追求自动化而把本质的 “测试” 弱化了。
- 2、自动化测试技术本身不应绑定被测对象,比如说你掌握了接口自动化测试技术,那么你就可以基于这个技术去做任何类似接口的自动化测试了。
毋庸置疑,这一点 “软实力” 是一个技术优秀的测试工程师能否获得更大发展的 “敲门砖”,也是资深测试工程师或者测试主管的核心竞争力。
除了基本的代码能力,测试开发工程师更要具备测试系统需求分析的能力。需要能够站在测试架构师的高度,识别出测试基础架构的需求和提高效率的应用场景。从这个角度上说,我们需要更像一个产品经理,只不过我们是为了软件测试服务的。
测试开发工程师需要具备非常宽广的知识体系,不仅需要和传统的测试工程师打交道,因为他们是你构建的测试工具或者平台的用户;而且还要和运维工程师有紧密的联系,因为你构建的测试工具或者平台,需要接入到持续集成和持续交付的流水线以及运维的监控系统中去。如果想更进一步,你还要了解更高级别的测试架构部署和生产架构部署,你还必须对开发采用的各种技术非常熟悉。