查了好多资料,发明还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!
软件主动化测试
所谓的主动化我们可以从两方面来理解,一种是在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小时执行:确保主动化用例能在主动化工厂中大批量、不间断地执行,防止人工干预,提高执行效率。
文章结束给大家分享下程序员的一些笑话语录:
问路
有一个驾驶热气球的人发现他迷路了。他降低了飞行的高度,并认出了地面 上的一个人。他继续下降高度并对着那个人大叫,“打扰一下,你能告诉我我 在哪吗?”
下面那个人说:“是的。你在热气球里啊,盘旋在 30 英尺的空中”。
热气球上的人说:“你一定是在 IT 部门做技术工作”。
“没错”,地面上的人说到,“你是怎么知道的?”
“呵呵”,热气球上的人说,“你告诉我的每件事在技术上都是对的,但对都没 有用”。
地面上的人说,“你一定是管理层的人”。
“没错”,热气球上的人说,“可是你是怎么知道的?”
“呵呵”,地面上的那人说到,“你不知道你在哪里,你也不知道你要去哪,你 总希望我能帮你。你现在和我们刚见面时还在原来那个地方,但现在却是我 错了”。