-
2018-06-02 17:32:27
软件测试体系,我经过两个月时间的研讨,重新阅读了“软件测试实战”、“测试架构师修炼之道”、“软件测试介绍”等测试类书籍,并结合自己的项目实践,汇总成测试体系。后续还会对整个体系持续完善,主要的方向有软件测试价值、测试预防、探索式测试实践、质量管理、常用测试工具、可用性设计及测试等。希望对测试同仁们有帮助。这里面有很多测试领域大师的思想(重点集中在理论框架部分),也有测试专家实践的经验(重点集中在实践方法部分),同时也有本人四年多的测试实践(重点集中在测试管理部分)。在此感谢“软件测试实战”作者史亮,“测试架构师修炼之道”作者刘琛梅,还有“光荣之路”微信公众号作者吴晓华老师,当然还有很多测试界的前辈和同仁,我才能在测试领域有一些积累和见解。
本体系主要分为三部分:理论框架、实践方法、测试管理。理论框架是测试工作的依据和法则,更是测试领域大师的智慧和经验结晶;实践方法部分引用了“软件测试实战”中的研究产品、研究项目、测试开发三大块和“测试架构师修炼之道”中的测试设计、测试策略两大块;测试管理部分引用了软件测试实战”中的团队工作(一线员工)、个人管理、缺陷报告、测试文档,我根据多年经验整理了团队工作(测试经理)部分。
下图为简图:
下图为扩展的部分图:
更全的图需要去下载我的原版xmind文件,由于文件太大,导出图片格式失败。
下载地址为https://download.csdn.net/download/zimingzim/10454677。
附网盘链接,永久有效,请有兴趣的同学自行下载。
链接:https://pan.baidu.com/s/1zJbh_icPlgA2LcaPylisQA
提取码:32aa更多相关内容 -
测试体系建设与软件测试流程.doc
2021-09-22 10:00:02测试体系建设与软件测试流程.doc -
软件测试体系建设之测试流程规范.rar
2021-08-13 09:26:00这是项目软件测试的指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程及测试过程中涉及到的角色职责进行总体规范,以有效保证软件质量。 -
构筑测试体系.xmind
2019-01-22 00:19:27文档详细的记录了自己在阅读《重构 优化既有代码的设计》在构筑测试体系章节的主要内容 -
软件安全测试体系和测试服务方案
2017-11-15 16:51:28软件安全测试体系和测试服务方案。。。。。。。。。。。 -
测试体系建设与软件测试流程.pdf
2020-08-20 13:09:04江苏物合智联科技有限公司 测试体系建设与软件测试流程 初稿 江苏物合智联科技有限公司 1 江苏物合智联科技有限公司 修改历史 日期 版本 修改内容 作者 2016/7/11 1.0 新建 沙莎 正式批准 角色 签名 日期 备注 2 ... -
软件测试体系建设.pdf
2021-10-01 11:17:16软件测试体系建设.pdf -
软件测试中使用QC和QTP构建自动测试体系
2021-03-23 15:43:24自动构建软件测试中使用QC和QTP构建自动测试体系自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到... -
软件测试体系思维导图
2018-01-21 22:48:58对软件测试体系的梳理,给刚入行的朋友参考,如果能提供参考的话 -
【阿里云-性能测试体系】
2017-11-24 11:47:46【阿里云-性能测试体系】【阿里云-性能测试体系】【阿里云-性能测试体系】【阿里云-性能测试体系】 -
测试体系方案
2021-07-23 05:16:001. 测试体系方案1.1. 概述本节旨在论述如何在XX用户建立测试体系以促进和加强测试管理和测试流程,提高测试质量,保证银行IT产品品质,终达到更好地为金融客户服务的目标。测试体系是围绕测试活动开展制定的一系列...1. 测试体系方案
1.1. 概述
本节旨在论述如何在XX用户建立测试体系以促进和加强测试管理和测试流程,提高测试质量,保证银行IT产品品质,终达到更好地为金融客户服务的目标。
测试体系是围绕测试活动开展制定的一系列规程、指南、标准、模板,用于管理和规范测试过程,通过引入测试体系可以引入更好地测试方法来优化测试细节;可以通过规定和规范加强流程化管理;东阳人才网可以通过定义指标、标准更准确地反映测试、评估测试。
1.2. 总体思路
详细描述以解决现有不足为目标并结合银行测试管理的现状而设计的测试管理总体解决方案的理念、思路、实现的方式方法。
根据上一节对XX商行测试工作的现状和现实环境的分析,我们了解到在行里建立符合现状和现需求的测试体系,并在该测试体系的指导下建立一批技术过硬的IT测试团队的必要性。本节将着重描述测试体系建设的整体规划和发展路线图。
1.2.1. 测试内容补充
为了进一步提高测试的覆盖度,保证系统质量,需要不断丰富测试的内容,使用“自底向上”的方式检验系统各个层面上的正确性和可靠性。在已有的UAT测试的基础上增加FT测试、SIT测试以及非功能性测试,非功能性测试包含的内容有:性能测试、兼容性测试等等。
1.2.2. 初步模型选型
建立测试体系的第一步是选择适应于目前情况的测试模型。与当前情况相符合主要是指研究目前开发项目和系统的特点,其中包括:项目需求的规模,对测试周期的要求,以及项目所选择的开发模型。
测试模型的选型目标主要是当前比较常用和成熟的测试模型:
瀑布模型
V模型
W模型
迭代模型
进化模型
RUP模型(增量迭代)
在选型过程中,需要选择多种不同的模型以满足现实中不同的开发需求,选型的方法可以参考选择一个主模型以适应IT项目、一个子模型以适应新特性开发、需求变更或紧急情况应急处理。
,选型完成后,可根据自身的需要对模型定义的测试阶段进行删减和补充。
1.2.3. 引进有效的测试方法
1.2.4. 建立规程与标准
在选择适合的测试模型后,测试活动被划分为多个测试阶段和多种针对不同测试目的的测试。例如:
单元测试
集成测试
功能测试(FT)
系统测试(SIT)
用户验收测试(UAT)
1.3. 体系建立
1.3.1. 建设目标
建立测试体系的目的是为测试工作制定周密的管理计划,为测试工作建立标准化流程和标准化文档,为测试单位提供运行的流程和规范。考虑到本项目的特点,我们知道该项目的测试工作需要横跨不同的业务系统,不同系统之间存在着网状的数据流。这种系统的复杂性为测试管理工作提出了严峻的挑战,据此我们需要通过建立测试体系的方法规范化测试流程,使得复杂的联调测试变得易于跟踪和控制,从而达到降低项目风险的目的。
建立测试体系的第一步是要确定一个生命周期模型从整体的角度描述整个项目。
1.3.2. 项目管理过程
将项目的测试管理分为五个阶段和一个日常事务检查表,对每个阶段的工作任务进行说明,包括时间点、任务、提交物等。提供该体系给项目管理人员作为测试项目管理手册,对整个项目的测试工作进行系统的管理、监督。
1.3.3. 流程与控制
该体系是针对项目具体实施过程的,对大运会项目的测试过程实施,在各个里程碑阶段,我们将使用以下体系进行项目测试过程的执行,包括:里程碑接口、里程碑输入信息、参与角色、工作过程、工作内容、输出信息等。
1) 初始阶段
初始阶段主要是给客户做测试过程和测试标准的介绍,加强客户对测试过程和测试标准的了解。
面向对象:对象为项目参与人员(包括管理人员和技术人员)。
介绍内容:
介绍测试过程
介绍测试策略
介绍测试方法和特点
介绍测试结果评估、分析方法
2) 需求分析阶段
前期接口:
初始阶段完成,项目组认可所使用的测试过程、方法等;
基本的测试范围(功能测试、性能测试、自动化测试等)和使用何种测试工具等基本达成一致。
输入:
被测系统的开发文档
被测系统的客户文档
参与角色:
在测试项目中,开发厂商,CSC专家,和测试组都有众多人员的参与,这里阐述了各方在项目中需要的角色和各自的职责。
阶段过程:
测试计划阶段的基本过程如下:
测试需求制定过程:
略
输出:
项目测试计划
项目相关标准
项目测试需求
3) 案例设计阶段
前期接口:
测试设计人员都参与了系统的详细培训
测试设计人员参与了测试工具的培训,掌握了测试工具的试用
输入:
项目测试计划
项目相关标准
项目测试需求
阶段过程:
略
定义测试策略:考察应用程序、系统环境和测试资源等以决定测试目标。
分解测试对象:将AUT(被测应用程序)分解成具体的测试单元(可被测试的模块和功能)。
定义测试案例:确定每个模块所需的测试类型,添加基本的定义描述。
建立需求覆盖:将具体的测试案例和需求建立覆盖关系。
设计测试步骤:为每个测试案例添加测试步骤。测试步骤描述测试的操作、检查点和预期输出。
分析测试案例:评审所有测试案例以确保符合测试目标。
输出:
测试案例
4) 执行阶段
前期接口:
测试案例设计并审核完毕
输入:
测试案例
阶段过程:
输出:
测试执行记录
缺陷记录单
缺陷跟踪汇总表
缺陷跟踪:
汇报缺陷记录
跟踪缺陷修改情况
回归测试直到缺陷得到恰当处理(是否进行缺陷跟踪要根据客户要求不同而定)
5) 总结分析阶段
前期接口:
测试执行工作完成
输入:
测试执行记录
缺陷记录
缺陷跟踪汇总表
阶段过程:
本阶段包含四个步骤:
整理数据:整理测试过程数据和缺陷数据,以备分析之需。
分析数据:根据收集整理的测试过程数据和缺陷数据对测试过程和系统情况进行分析。
编制总结分析报告:对项目进行总结,在整理数据和分析数据的同时即可进行该项工作,待数据分析完成后,将分析结果增加到报告中,并将总结分析报告提交给开发部,业务部,以便开展项目评估工作。
调查客户满意度:总结完成后,由开发部,业务部人填写满意度调查表,调查结果供测试过程改进和项目评估参考。
项目评估:由项目双方(开发部,业务部和测试组)相关人员一起,根据评估项及其统计数据对项目完成情况进行评估。
略
输出:
测试总结分析报告
项目评估报告
1.3.4. 项目测试标准
1) 缺陷相关标准
严重级别:
5 紧急
导致操作系统崩溃(如Win NT/2000 的篮屏、Win 98 的系统致命错误等)
导致操作系统不响应
程序退出没有释放资源
导致其它应用程序出现异常(如无法启动、不响应、异常退出)
卸载时不提示客户确认即删除公用程序(DLL 等)
其它导致操作系统或其它应用程序异常的情况
造成重大安全隐患情况(如机密性数据的泄密)
4 很高
程序挂起
程序异常退出
系统无法正常安装、卸载或升级
其它导致被测系统本身出现无法正常运行的错误
3 高
导致输出的数据错误(数据内容出错、格式错误、无法打开等)
导致其它功能模块无法正常执行,如:
功能不完整或功能实现不正确;
导致数据终操作结果错误
文件或数据传输不完整或不正确
对数据格式不进行检测
提示语句易误导用户,造成数据丢失等重大问题
其它导致被测应用系统其它模块无法正常运行或出现错误结果的情况
2 中等
影响当前操作结果
数据修改后没有保存提示
系统出错提示不正确或没有捕获系统出错信息
数据的重要操作(如删除、添加等)没有提示
其它影响被测模块/功能正常执行的情况
1 低
页面布局不合理
字体不一
错别字
语言不一致(如:中英文混合)
页面提示不明确
系统易用性不好
其它对被测模块功能实现没有影响的情况
缺陷导入阶段:
1. 需求阶段
未能真正了解客户需求,功能描述不正确
需求定义有二义性
需求中遗漏客户功能需求
2. 概要设计阶段
架构设计不正确
业务流程设计错误
3. 详细设计阶段
功能模块间数据格式定义不一致
开发规范
4. 编码阶段
5. 其它
缺陷优先级:
3 必须修改
2 将要修改
1 有时间则改
0 未分配
缺陷类型:
程序错误
环境设置
重复记录
需要完善
不可重现
并非问题
1.4. 测试体系涵盖的其它内容
1.4.1. 规范和强化测试子流程
略
1.4.2. 规范和强化测试流程
测试流程可分为两支:
自动化测试流程;
手工测试流程。
1.4.3. 标准化、规范化测试对象
在测试活动中通过标准化、规范化测试资源使测试资源可以被共享和重用。
如果测试对象缺乏必要的标准化、规范化,会导致测试案例等测试对象无法共享。例如,很多测试团队的测试案例编写缺乏规范,导致:
测试案例“个性化”、“个人化”,只有自己才能够“看懂”自己的测试案例来进行测试执行,其他的测试工程师无法使用其他人的测试案例来进行测试;
测试设计人员和测试执行人员无法分离,高成本的测试设计人员必须自己来执行测试案例,而不能使用低成本的测试执行人员来执行测试案例,导致无法达到很好的劳动组合,提高工作效率,也大大占用了经验丰富的测试设计人员的时间。
对于测试过程也需要进行控制,只有进行测试对象的标准化、规范化,才能够进行测试案例评审,进一步提升测试案例的质量。
1.4.4. 测试对象复用,降低测试成本
测试对象复用,主要指测试案例复用、测试脚本复用、测试计划复用。
1.4.5. 建基于模型驱动的自动化测试架构
一般情况下,如果一个测试需要执行3次以上,那么自动测试的成本能够和手工测试持平。随着执行测试的不断增加(特别是后期的回归测试),测试成本大大小于手工测试执行。
随着测试技术的发展,很多测试脚本能够通过灰盒测试方法,通过自动转换程序技术来自动生成,能够把测试工作大大提前,并且测试脚本的编写成本大幅度下降。
1.4.6. 定制流程管理缺陷,定制查询
实现缺陷流程定制化。根据项目特点,定制有针对性的缺陷管理流程。为每一个测试角色分配缺陷处理的权限。使得每个测试人员的分工更明确,人员配置更合理。
在缺陷跟踪之前定制查询。通过定制常用的查询规则,例如:当日提交给我待解决的缺陷、所有解决的缺陷等等,测试员和开发人员将有针对性地关注缺陷,测试经理也可以即时了解问题解决情况。
基于Test Center的测试体系可以划分为8个子模块,见下图。
缺陷管理模块:
支持缺陷管理流程,可以定制缺陷管理流程,支持缺陷流程的是一个工作流;
可定制的缺陷过滤器。用户根据自身的需要定义过滤器。通过输入查找条件,将查询规则定义为过滤器。通过这种方式,用户可以更快地找到自己所关心的缺陷,例如“剩余的没解决的缺陷”之类;
支持缺陷报告,缺陷报告以图表和图的方式展示处于各个状态的缺陷,以及各个紧急程度分类上的缺陷。缺陷报告还提供了缺陷关闭、打开曲线图,用以了解每日缺陷的关闭和打开趋势。
1.4.7. 生成测试报告
生成详尽的测试报告,包括执行情况、缺陷情况、需求达成情况使得项目重要干系人即使了解项目进程,了解问题的分布情况,即时分析和规避开发风险。
1.4.8. 测试环境管理
管理开发和测试资源,使用预约的方式将资源分配给人员和组,为资源分配提供管理和监控的解决方案。
-
自动化测试体系
2018-01-18 15:38:36自动化测试,顾名思义,自动完成测试工作,代替重复的人工劳动。 -
测试体系详细介绍-xmind文件
2018-06-02 17:29:11测试体系详细介绍,经过两个月时间的研讨,重新阅读了“软件测试实战”、“测试架构师修炼之道”、“软件测试介绍”等测试类书籍,并结合自己的项目实践,汇总成测试体系。希望对大家有帮助。 -
(流程管理)测试体系建设之软件测试流程.pdf
2020-10-18 21:48:54流程管理测试体系建 设之软件测试流程 1.目的 本文是对项目软件测试的指导性文件对软件测试过程中所涉及到的测试理论测试类 型测试方法测试标准测试流程及测试过程中涉及到的角色职责进行总体规范以有效 保证软件... -
测试体系建设
2020-06-26 14:16:45目前太多的公司在测试上投入很大精力,很多测试同行在自己公司中十分努力的推行测试体系,但收效甚微。转而想到了,如果我们仅仅考虑技术,从测试管理角度,我们只做了其中一个部分,技术是提高生产力的,而管理是...目前太多的公司在测试上投入很大精力,很多测试同行在自己公司中十分努力的推行测试体系,但收效甚微。转而想到了,如果我们仅仅考虑技术,从测试管理角度,我们只做了其中一个部分,技术是提高生产力的,而管理是发挥每个人的长处,且让信息在组织中保持通畅、一致的。那么我们就基于这个思路聊一聊如何进行测试管理。
首先,我们考虑公司文化,项目流程及质量现状。什么意思呢?具体的问题,比如公司当前上线的质量是好还是不好,公司当前的项目模型是瀑布还是敏捷,再比如公司大致一个项目版本的周期是多长。我们仔细思考这3个问题,其实是从结果,模型及周期给了我们初步的答案,后续,我们就该从这几个问题中着手进行解答并且推进了。
推进时,测试Leader一定知道,当前所有的活动都是为了质量提升负责,也就是说,对于自主研发型公司而言,上线结果不好,就是有问题。所以,本着以终为始的思路,首先建立不同环节的准入准出,就成为了第一要务,当然,要结合现状。
朋友小A的公司,领导是研发出身,认为研发做得好,质量就上去了,测试人员能力过得去就行,所以大力提倡研发人员对于质量的考核,但仅仅在考核上做文章,而相应的流畅标准,如何检查并未有效到位,结果自然不言而喻。
而朋友小B的公司,领导是市场出身,不懂研发,但就要求对于客户有好的结果,所以对于上线质量要求很严格,认为出了事就是测试有问题,也有些过于偏激,毕竟其实质量是团队的事情。所以,测试体系的出发点,应该从准入准出入手,下方以一个例子来说明。
公司流程:研发完成后提交测试 → 测试首先在测试环境进行验证 → 通过后可进入预发布环境 → 通过后可以进入生产环境,
这里提到的关键词是通过。研发达到什么程度可以提交测试?是做完就可以,还是说自测完成就可以,那怎样认为研发完成自测并且就绪?保证了哪一级用例的覆盖?通过率达到多少?同理,测试环境通过率达到多少可以进入下一个环节,bug级别高于哪个等级就不能通过。预发布环境通过率达到多少可以进入下一个环节,bug级别高于哪个等级就不能通过,几天之内无重要bug出现才可发布。
有的朋友可能会说最后一点有些难度,毕竟实施下来的公司不多,但是仍然有大部分公司再实施并且收效很好。这其实代表了当前版本是否已经足够稳定并且团队是否有很足的信心。
这里,我们如果按照此思路,则已经初步建立了第一个层面的测试流程,下来,就是让技术和管理结合的更紧密。
1,文档规范
内部:包括但不限于测试方案或者测试大纲,测试用例,测试报告,Bug级别规范,Bug提交规范等等
外部:设计相关文档(PRD及原型),研发相关文档等等
2,时间要求
内部:测试方案完成时间,测试用例提供时间,测试人员投入时间,测试计划完成时间
外部:需求确定时间,提测时间,服务器就绪时间,交付时间
3,不同层级的测试
如:单元测试100%,接口测试100%,UI测试30%
4,不同程度的标准
如:研发修改代码后,执行相应的单元测试、接口测试应该全部通过才可合并代码
如:每天晚上定时部署后,结果应该高于哪个指标之上
如:日构建,每天提交的版本一定是无阻塞性问题的
如:Bug日清,规定4点前测试提出的中级及以上问题必须解决
5,对于考核的影响
如:自测后,提交测试时,阻塞bug需要低于多少,Bug数量需要低于多少,BugReopen率应该低于对少
如:上线后的质量应该达到什么程度,若有问题相应速度应该达到什么标准。
6,对于和研发团队的沟通
之前一个同事说,有些话如果能让他们自己说出来,他们会更认同,起码也得让他们认同了,我们再推。这个非常认同,但是很难。大部分做事有2种,一个是自下而上的,当然这个同事的观点也是这样。另外一个就是自上而下,不同的时候用不同的技巧解决不同的问题
自上而下的推进,是我们要让测试体系和公司整体的体系结合起来,是要从全局的角度提出对于质量的要求,对于过程的控制,是要本着一切以用户为核心的考虑并且解决问题。自下而上的推进,则是以点带面,以人为本,从小大到,从1到2的做法。比如有些改进我们会先在1个业务线或者1个项目试点,待这个改进产生了明显的效果,通过对比看出来和其他未改进项目的差异,则可顺理成章的扩大化的推进改进点,这就是典型的自下而上的做法。所以,当我们做到以上这些时,当我们有了规范、有了标准、有了流程、有了目标,已经是一个比较完备的测试体系了。接下来,我们需要持续改进,让流程、体系、效率变得更佳。比较多的有2种思路。一种是以结果分析触发,比如测试针对每一个版本给出测试分析的数据,客户反馈问题的多少、是降低了还是升高了,各级别的反馈数量具体多少,项目过程是否缩短了。再比如:以过程分析触发,同样时间内,团队完成的工作量是否增加了(比如敏捷团队中的point),每一个版本发现的Bug数量是否有明显的下降趋势,哪一个模块的Bug数量最多,哪一种类型的Bug数量最多,Test Cycle是否健康,项目是否持续报出较多风险,整体Delay情况如何。一句话,数据是不会骗人的,通过数据来找答案是最好的方式。但是这里需要注意的是,基于数据的分析,要保证数据对比的同纬度,这样才不会做到被数字欺骗。
最后,我们再从项目管理三要素上来做一个相对简单点的总结。
质量、范围、成本是大家一直认可的项目管理三要素,被众多教材引用,被无数学者探讨,但是这3个标准是否还适用于今天这个快速变化的世界。记得之前看一本书叫知行合一,从斌老师编写的。里面提到的观点让我非常认同,受益良多。讲的是对于衡量项目是否成功的标准来看,我们重新定义项目三要素,没错,是质量、价值和约束。
质量讲的是我们交付的东西,对于用户或者客户来说,是否达到了承诺的标准
价值讲的是项目是否达到了应该达到的价值。这里的价值是从组织或者客户,而不是从项目角度来看的
约束,指的是项目是否在给定的条件内完成?他可能是时间,也可能是成本。而约束并不是目标,而是前提所以,最终我们来看测试管理是否好了,是否当前算是合格的,我们要看
1,我们是否给客户交付了高质量的产品
2,我们是否代表了用户的视角、提高了用户的满意度及项目的商业价值
3,我们是否能不断提高效率,不断提高质量,让我们更快更好
如果以上这几点我们的答案都是OK的,那么我相信你的体系一定会健康的。 -
测试人员掌握的测试体系
2018-06-27 15:36:24根据几年测试经验,总结出的测试人员必须掌握的知识和在项目中的一系列活动 -
H3C测试体系和流程管理
2020-10-18 04:39:44H3C,测试体系,CPTM,指导,大到方法论,小到具体细节的处理,可以说,流程在很大程度上决定着质量的生死。对于测试,同样需要完善的体系与流程保障,从而在为形态各异的产品测试过程提供质量保障方案的同时,持续的... -
软件测试体系图.png
2021-04-02 10:37:54软件测试体系图 -
测试体系建设之软件测试流程图.doc
2022-07-12 09:26:46测试体系建设之软件测试流程图.doc -
软件测试体系学习及构建(23)测试专项丨自动化测试理解
2022-03-22 14:19:03(23)测试专项丨web测试(23)测试专项丨自动化测试理解
1 定义
把以人为驱动的测试行为转化为机器执行的一种过程。
- 简单讲:比如使用自动化测试框架、脚本、工具等自动打开测试对象(引用),自动去执行测试用例(此过程中包含自动化查找元素、控件等),自动输入测试数据、自动生成测试报告等一系列的自动化过程;
- 通俗讲:用机器来模拟用户的实际行为,如键盘、鼠标等操作,来达到预期。
2 做自动化的目的是什么?
- 测试工作量比较大,使用自动化来完成一部分工作;
- 测试过程有大量重复的工作,使用自动化来进行提升效率;
- 手工测试难以覆盖的场景,需要自动化造数据等来完成;
- 有些测试结果,可能自动化比手工更为精确。
3 自动化测试的优缺点
优点 缺点 重复执行、频繁操作 不能100%替代人工测试 模拟手动测试无法覆盖的场景 不能达到100%覆盖率 利用空闲时间执行 需要时间去分析结果 释放一部分测试人员精力 对软件质量依赖大(前提是软件稳定、改动小等) 测试结果客观公正 需要专业的工程师投入专门的时间开发 / 投入成本可能会大一些 4 自动化测试的前提条件(重要)
即做自动化前先对软件进行分析,是否满足或者要不要做自动化,有几个前提条件需要注意。
4.1 需求变动不频繁
- 脚本的稳定性最直观的决定要素是需求的变动,如果需求变化大,隔三差五的进行需求更改,那脚本势必也要进行同步更新,这样投入的维护成本就很大,得不偿失,还不如不做。
4.2 项目周期比较长
- 自动化测试和普通的测试一样,需要前期的规划、框架设计、脚本开发、人员选择、脚本执行、后期维护以及结果跟踪分析等,是一个比较全的且投入较多的一个过程,如果项目周期很短,就不适合做自动化,其实也没必要;
- 另外项目周期短,手动测试都无法保证的前提下,更不用谈及做自动化了。
4.3 脚本的重复使用率高
- 我们投入了较大的人力、物力、财力等最终完成了一套比较完美的自动化脚本、框架或者平台,但是复用率很低,只能在单个产品单独使用,那么这样的代价就太大了。此时我们需要评估是否必须要进行自动化测试,如果非必须,可以不做;
- 相反的,如果自动化的一系列东西都能迁移到其他的产品测试,那这样的投入是值得的,也是必要的。我们也应该投入更多的精力进行测试开发。
4.4 团队实力
- 做自动化,不是随便摘抄一些代码拿来用,他是一个专项测试,需要投入专门的人力去研究及测试,那么我们要想做好自动化,先要对自己的团队进行评估,团队的人员、技术能力等是否满足要求;
- 另外,自动化需要不断的进行迭代和优化,不能拿着脚本运行看看结果,那其实很多时候,并不能给产品带来客观的价值。我们需要进行不定期的升级维护,针对项目业务要进行优化,根据测试过程和结果的数据反馈要进行稳定性的升级等等。所以这也需要专门投入人力进行研究。
4.5 部门的规划和上级的支持
这个是我加的,根据个人的经验的总结;
- 部门的规划:如果自动化是在部门规划中,以及有考核目标,那肯定是要做的。如果不是规划,也没有纳入计划,那就要根据实际情况定,毕竟这不会直接影响你团队的实际考评。你的重点应该是在其他的地方,优先保证工作重点内容的完成;
- 上级的支持:这个很重要,做自动化无非是为了提升效率和质量,但是如果没有得到应有的效果,领导看不到成绩,也无感知,那么做自动化也许不会长久。这个得慢慢体会了,哈哈。
5 应用场合
自动化测试主要应用在以下场合,具体还要根据项目以及自动化的实际开发情况开定:
场景 说明 测试周期 项目周期长,轮次较多的软件 数据量级 需要制造大量的测试数据 软件稳定性 使用稳定和成熟阶段的产品测试 回归测试 需要进行简单回归的测试 冒烟测试 主线功能的冒烟 巡检测试 线上环境的定期巡检 发布验证 主线功能的发布验证测试 6 自动化认识误区(重点)
6.1 自动化可100%覆盖
- 概率不大,要使得自动化的测试覆盖率达到100%,需要投入专门的人力、物力、财力等,成本比较大;
- 某些业务的特殊性,或者场景的复杂性,用自动化是无法进行覆盖的;
- 项目的周期限制,不允许投入更多的精力去开发;
6.2 自动化可替代人力
- 领导的口头禅:你就告诉我,自动化能干掉多少人力?!====每次听到这样的话,不知道你们怎么想的,反正我是很无奈。但从领导的角度来思考,也不为错;
- 这里存在一些误区,自动化测试是辅助功能测试的,或者说是为了解决某些人工不能覆盖的场景;
- 另外,不存在完完全全的自动化,都是需要人工参与的;
- 遇到类似的认识,建议自动化测试人员需要进行解释,不能任由这个观点滋生,不然===你猜会咋办!!
6.3 自动化很牛逼
- 任何的事情,都是看谁先知道而已,与其说牛逼的技术,不如说牛逼的人。
- 自动化只是一门技术,我们不能脱离业务搞自动化;
- 很多人认为自动化很厉害,就脱离了工作的重心,天天喊着自动化、自动化,最后到头来啥也不是,啥也没得到。当然如果是专业、专门搞自动化测试开发的那就另说了。因为他们的工作就这,就是转、精。
6.4 万物皆可自动化
- 这个其实和前边的提到的一致,搞自动化,先要符合一些前提条件以及明白他的应用场景,不是所有软件都要搞自动化。
- 盲目的自动化,只会适得其反。
6.4 自动化很简单
- 这是一个很复杂的但是又简单的话题,对自动化的方向、工具、技能等研究的程度不同,对他的认识就不一样;
- 如果只是解决一些简单的问题,你掌握他很简单。如果是复杂的一些东西,可能需要深入研究;
- 自动化方向也是很多,不论是功能、性能,还是面向接口、UI、GUI、协议,更或是自动化工具开发等,都需要不同的技能和知识,入门或许简单,要做的很专一,还是需要点积累的。
6.5 自动化尽早做
不一定。不同的自动化,介入时间可能有差异,比如
- UI的,建议软件稍微稳定或者需求变更不频繁的时候再去开发;
- 接口的,可以在开发阶段同步进行;
7 自动化测试工具
太多了,举个例子,不代表所有的。事例而已:
『全栈测试技术,分享,共勉,共进,提升』
【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢
-
生物可降解金属材料体外腐蚀测试体系综述 (2013年)
2021-04-22 10:23:00随着生物可降解金属材料日益受到关注,大量的体外腐蚀测试体系被用来模拟其体内腐蚀行为。不同的测试体系具有其独特的优点和缺点。为建立一个合理的并且更接近体内真实情况的测试体系,对可降解金属材料的腐蚀机理和... -
测试体系建设之软件测试流程.docx
2022-03-10 15:06:55测试体系建设之软件测试流程.docx -
测试体系建设之软件测试流程知识.pdf
2022-02-14 04:12:13测试体系建设之软件测试流程知识.pdf -
测试体系建设与软件测试流程实用.pdf
2022-02-14 04:12:08测试体系建设与软件测试流程实用.pdf -
测试体系建设之软件测试流程汇编.pdf
2022-02-06 14:44:55测试体系建设之软件测试流程汇编.pdf -
测试体系建设与软件测试流程归类.pdf
2022-02-06 14:44:50测试体系建设与软件测试流程归类.pdf -
运营商WCDMA终端测试体系研究
2020-10-25 03:37:53本文从分析目前WCDMA终端入网测试现状及其局限性入手,分析说明如何通过WCDMA终端的一致性测试和运营商补充测试来进一步健全WCDMA终端测试体系,以更好地服务于运营商开展WCDMA业务的要求。 -
测试体系建设之软件测试流程.pdf
2021-11-04 02:55:37测试体系建设之软件测试流程.pdf