软件自动化测试
所谓的自动化我们可以从两方面来理解,一种是在IDE(如Eclipse)下的自动化测试,我们知道JUnit集成到了Eclipse开发环境中,在Eclipse中可以边写代码边做测试,简单到只需要点击一下按钮,发现问题随时修改,并且JUnit实现了对用例的管理,引入了测试套的概念,对根测试套的一次运行能够递归运行所有的用例。
另一种是基于以下情形的自动化:有一个自动化框架,在每天的固定时间,自动从配置库上获取所有功能代码和测试代码,然后编译、做静态检查、运行所有测试用例,同时做覆盖率检查,最后输出静态检查报告、测试报告和覆盖率检查报告,并将报告打包并以Notes邮件的形式发送给相关人员。对于此种类型的自动化我们已经开发出了项目组通用的自动化测试框架,并且我们建议项目组使用该框架。
n 使用自动化测试框架的好处
1)
单元测试监控。项目组可以每天根据框架发过来的单元测试报告和覆盖率报告了解当前项目的开发和测试进展情况,所有已完成的代码是否经过了测试。
单元测试报告、覆盖率检查报告都是工具自动生成的,手工改不了,它们是单元测试做的如何的真实反映。
2)
发现合代码的问题。代码合到配置库上时,可能会发现漏合、多合、或者合错的情况,通过框架的自动测试能够及时发现这方面的问题。
3)
后期测试(指项目级系统测试以及产品级系统测试)发现问题后,可以用于验证本次问题的修改是否对系统其它部分造成影响。我们要求后期修改的问题以及新增的需求,一定要同时补充单元测试用例(测试代码),并且通过覆盖率检查报告检查源代码测试的覆盖情况。
必须指出的是,单元测试真正发现问题的过程还是每个人在IDE(如Eclipse)下的自动化测试,要确保checkin到配置库的代码是经过单元测试的,它是使用测试框架的基础。测试框架的运行只是一个结果,它的意义主要在于监控。
该自动化测试框架的主要特点就是简单,框架的核心仅是一个build.xml文件,项目组在拿到该框架后只需要对这个文件作少量修改就可以被本项目组使用,如配置项目的源代码目录、测试代码目录等,几乎不需要学习就会把这个框架用起来,并且我们还推出了相配套的例子工程,方便你更好地理解该框架。
我们要求,单元测试结束后需要提交以下报告:
静态检查报告—指自动化框架输出的静态检查报告,对不修改的BUG需要给出合理的说明。静态检查的代码范围包括所有能够编译的class文件。
单元测试报告—指自动化框架输出的单元测试报告,需要确保所有用例执行通过,对不通过的用例需要给出合理的说明。
覆盖率检查报告—指自动化框架输出的覆盖率检查报告,对没能覆盖的代码需要给出合理的说明。
另外,在项目关闭前必须重新提交一次静态检查报告、单元测试报告、覆盖率检查报告。
最后指出,该自动化测试框架不仅用于单元测试,而且一样可用于集成或系统测试的自动化,只要是基于JUnit的,因为我们知道,JUnit提供的是一个测试用例框架,不只是针对单元测试。
敏捷下的自动化测试如何开展
在公司的开发流程向敏捷开发转变的大背景下,项目级、版本级及产品级的敏捷开发在如火如荼的规模开展中。自动化测试如何跟上持续集成、每日构建的步伐,不成为敏捷开发的瓶颈,测试如何不拖后腿,成了敏捷中迫切需要解决的问题。
测试资产的共享和重用
组织架构向PDU转换后,开发和测试充分融合,组成同一个协同作战单元。作为测试的主要交付件,测试的自动化用例、测试数据、测试环境等测试资产,如何实现和开发的共享和重用,在迭代中发挥测试资产的作用,成了开发和测试都需要共同思考的问题。
实验室、环境的管理
公司一直提倡降成本,目前实验室的物料申请这一块,公司已经开始在收紧物料的申购,减少申购的预算。物料只有这么多,为了满足我们版本的要求,唯一的手段就是提升我们物料的利用率。如何提升我们物料的利用率,实现实验室的标准化管理,实现环境的集中管理和充分共享,成了大家关注的焦点。
项
|
描述
|
愿景
|
提升端到端的测试效率、降低测试成本,改善测试人员的工作环境
|
目标1
|
为持续集成和敏捷开发提供产品级的自动化测试能力
1)自动构建
2)自动部署
3)自动化环境搭建
4)自动化测试
|
目标2
|
提高环境利用率,解决实验室“三占”(场地,时间,成本)问题
1)实验室“四化”(规范化,标准化,自动化,全球化)建设
2)环境搭建自动化
3)实验室人机分离
|
目标3
|
测试资产的共享和重用
1)版本间重用
2)E2E和解决方案中重用
3)持续集成和敏捷开发中重用
|
目标4
|
降低自动化测试门槛,提高自动化执行效率
1)统一的工具大平台,统一的入口界面
2)多版本并行
3)多套环境并行
4)多个执行器并行
|
自动化工厂支持的典型应用场景,如下所示:
典型场景
|
场景说明
|
状态
|
开发的持续集成
|
将自动化测试纳入到开发的持续集成流程中,实现版本的及时验证,问题的及时反馈,达到测试资产在开发、测试的共享和重用的目的。
|
|
SDV自动化测试的持续集成
|
实现SDV自动化测试的持续集成,实现自动化用例的正确性及时验证,问题的及时反馈,提升自动化用例开发效率。
|
|
SDV自动化测试
|
通过环境自动搭建,用例并发执行,提升环境利用率,提升SDV自动化测试的执行效率 。
|
|
环境管理
|
通过测试环境的统一管理,实现手工、自动化,开发、测试的环境共享,实现人机分离,提升整体环境的利用率,降低物料采购成本。
|
|
实验室管理
|
通过实验室标准化集中统一管理,实现物料充分共享,实现实验室的规范化管理,降低实验室管理成本,提升物料利用率。
|
|
基本概念
自动化工厂
类似于制造业的工厂概念,开发的软件产品能及时地放在自动化工厂中进行验证和测试,确保产品的质量。
7*24小时
包括两部分概念: 测试环境的7*24小时使用和自动化的7*24小时执行。
测试环境的7*24小时使用:包括手工和自动化环境的共享,最大限度地提高环境利用率。
自动化的7*24小时执行:确保自动化用例能在自动化工厂中大批量、不间断地执行,避免人工干预,提高执行效率。
分享到:
相关推荐
软件自动化测试是软件开发过程中的一项重要技术,它通过预定义脚本和程序来执行测试案例,旨在发现软件中的缺陷,提高软件质量,并且极大地提高了测试的效率。然而,传统的软件自动化测试系统存在效率慢、成本高的...
总的来说,软件自动化测试是软件质量保证的关键环节,通过合理引入和有效利用自动化测试工具,可以显著提高测试的质量和效率,同时降低测试成本。然而,理解和掌握自动化测试的基础知识,包括其原理、方法和适用场景...
《软件自动化测试成功之道》是一本深入探讨软件自动化测试策略、方法和技术的专业书籍。书中涵盖了自动化测试的关键要素,包括测试框架的选择、脚本语言的应用、测试数据的管理、回归测试的执行以及持续集成的实践。...
6.1 自动化测试基础 6.2 软件自动化测试生存周期方法学 6.3 软件自动化测试生存周期方法学的应用 6.4 软件自动化测试工具简述
软件自动化测试是现代软件开发过程中不可或缺的一环,它旨在通过利用专门的自动化工具来执行预先定义的测试脚本,以提高测试效率、减少人工错误并确保软件质量。自动化测试虽然不一定能发现大量的缺陷,但其提供的...
《软件自动化测试技术教案》是基于实用软件测试过程一书,旨在深入理解并掌握软件测试自动化的核心知识。软件测试是一个严谨的过程,旨在发现软件实际输出或行为与预期目标之间的差距,以此来提升软件质量。这一过程...
软件自动化测试是现代软件开发过程中的重要组成部分,它旨在提高测试效率、准确性和覆盖率,减少人力成本,并确保软件质量。本章将详细讲解自动化测试的基础、生命周期方法学及其应用,以及自动化测试工具的概述。 ...
《基于场景模拟的地铁ATS软件自动化测试系统》 在当今的智能交通系统中,地铁自动列车监控(Automatic Train Supervision,简称ATS)软件扮演着至关重要的角色。它负责实时监控和调度列车运行,确保地铁系统的高效...
本文讨论了基于CANoe和Jenkins的ECU软件自动化测试系统的设计与实现。ECU(Engine Control Unit)即发动机控制单元,是现代汽车电子系统的核心部件。随着汽车电子软件的快速发展和快速迭代,软件测试的效率和准确性...
《软件自动化测试成功之道》是一本深入探讨软件自动化测试策略、方法和技术的专业书籍,而随书光盘"QTP_Codes.rar"则包含了与书中内容相关的代码示例和实践资源,旨在帮助读者更好地理解和应用所学知识。QTP,全称...
《软件自动化测试成功之道》是一本深入探讨软件自动化测试策略、方法和技术的专业书籍,而随书光盘TestComplete_Codes.rar则包含与书中内容相关的代码示例和实践资源。TestComplete是一款强大的自动化测试工具,广泛...
嵌入式系统软件自动化测试知识点总结 一、嵌入式系统概述 嵌入式系统是指将计算机系统嵌入到设备中,用于控制和监控设备的系统。嵌入式系统硬件电路板微控制器MCU或微处理器MPUROMUART电源模块AD转换器...