让你提前认识软件开发(49):自动测试

第3部分 软件研发工作总结

自动测试

 

【文章摘要】

       “百年大计,质量为先”。质量是企业的生命线,优秀的企业必然会推出高质量的产品,也势必会从产品研发的各个环节去保障产品的质量。产品开发时的自测是确保产品质量的一个重要的环节,而自动测试也是提升产品质量和提升研发效率的有效途径之一。

        本文根据作者参与自动测试项目工作的实际经验,介绍了自动测试的步骤及相关注意事项等。本文为相关研发项目的自动测试提供了有益的参考。

 

1. 自动测试的背景

        产品开发时的自测(包括单元测试和集成测试等)是提升产品质量的重要举措之一,而自动测试能够同时提升产品的质量和提升研发的效率,进而降低企业运营的成本。正是看到了其巨大的优势,许多公司才会在不同的产品中推行自动测试。

        适于进行自动测试的项目有许多共同点,包括:局点多、版本多、程序代码多等。一般而言,在全面推行自动测试之前,可以在项目的部分版本中先行试点。

        本文对自动测试进行了一定的介绍,同时对存在的不足进行了思考。

 

2. 自动测试的步骤

        在实施自动测试的过程中,作者总结了7大操作步骤:

        1) 结合产品特点和当前运营情况,分析各版本的特点,选择进行自动测试的版本与具体模块。

        2) 确定自动测试策略和运作方式。

        3) 开发自动测试脚本和模拟工具,并开发测试用例。

        4) 搭建自动测试环境。

        5) 创建自动测试任务。

        6) 自动构建触发自动测试,并展示结果数据。

        7) 积累测试用例,并对测试工具脚本进行优化。

        2.1 自动测试的策略

        (1) 测试工具读取测试输入(测试用例和预期结果)。

        (2) 变换测试用例,组装成待测模块可识别的请求,发送请求到待测模块,等待待测模块的响应。

        (3) 将响应结果与预期结果进行匹配,匹配成功则表明用例执行成功,匹配失败则表明用例执行失败。

        (4) 根据模块的特点,测试输入通过配置文件存储。测试工具根据用例执行情况生成测试报告。

 

        2.2 自动测试的运作方式

       自动测试的运作方式如图1所示:

图1 自动测试的运作方式

 

3. 自动测试的成果

       自动测试需要展示的结果包括:单元测试用例总数、集成测试用例总数、单元测试新增用例数、集成测试新增用例数、代码覆盖率数据等。

 

4. 自动测试的持续改进

       自动测试需要持续改进的方面包括:

       1) 集成模块需要扩大,力争尽量覆盖所有流程。

       2) 测试环境稳定性需不断提升。

       3) 如项目程序包括数据库脚本,自动测试需加入数据库脚本的自动升级与测试。

 

5. 总结

        本文以作者实际的项目经验为背景,介绍了自动测试的步骤及还存在的需要将改进的地方。

       “路漫漫其修远兮,吾将上下而求索”,自动测试探索实践任重而道远,有志于此的研发团队应本着“愚公移山”的精神,将自动测试坚持执行到底。

 

 

 

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

时间: 2024-09-04 18:28:04

让你提前认识软件开发(49):自动测试的相关文章

提前认识软件开发(1) 序言

序言 正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程. 1.为什么要写作本系列? 在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要. 在学校里面,我们欠缺的教育主要包括以下方面: 第一,对编码规范的要求.计算机编程课上,老师只要求学生能够编写程序实现既定的功能即可,几乎不会对编码规范提出要求,

让你提前认识软件开发(1):序言

序言           正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程.          1.为什么要写作本系列?        在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要.        在学校里面,我们欠缺的教育主要包括以下方面:        第一,对编码规范的要求.计算机编程

提前认识软件开发(33) 数据操纵语言(DML)

数据操纵语言(Data Manipulation Language,DML)包括insert.delete和update语句,用于增.删.改数据. 本文用以下的表tb_employeeinfo作为例子加以说明: create table tb_employeeinfo ( employeeno varchar(20) not null, -- 员工工号 employeename varchar(20) not null, -- 员工姓名 employeeage int null -- 员工年龄

提前认识软件开发(2) 软件开发工程师常用的工具软件

有一次,我打开电视机准备随便看看,无意中被一部战争片吸引住了.成千上万的共产党战士搭起云梯,想攻破一座城池.但是城楼上面的敌人负隅顽抗,拼了命地阻击我军的进攻.双方的伤亡都很惨重,但城就是攻不下来.眼看我军剩下的人不多了,突然不知从什么地方开出一辆坦克,两炮就把城门轰开了.我军趁势攻入城中,将敌人全部歼灭了. 这类电视剧比较常见,相信大家看了不止一次.但是,我看完之后,那个场景还一直留在我的脑海里.成千上万的人不如一辆坦克来得直接,说明了什么问题呢?我立马想到了一句古诗:工欲善其事,必先利其器.

提前认识软件开发(16) 如何对程序进行优化

对程序进行优化,是软件开发工程师必然会涉及到的问题.那么为什么要对程序进行优化呢?原因有以下几个: 第一,在原程序基础之上新增.删除或修改了功能,需要改变原程序流程.客户需求随时可能会变化,今天已经实现的功能,说不定明天就要修改或去掉.落实到程序上面,就需要我们随时准备对写好的代码进行修改,而不要奢望写好之后就永远不要动了. 第二,原程序有bug.这类情况出现得非常的频繁,很多软件有1.0.2.0.3.0等版本,部分原因就是前面版本中程序有问题,在修改程序的过程中使得软件版本不断升级. 第三,原

让你提前认识软件开发(2):软件开发工程师常用的工具软件

第1部分 重新认识C语言 软件开发工程师常用的工具软件           有一次,我打开电视机准备随便看看,无意中被一部战争片吸引住了.成千上万的共产党战士搭起云梯,想攻破一座城池.但是城楼上面的敌人负隅顽抗,拼了命地阻击我军的进攻.双方的伤亡都很惨重,但城就是攻不下来.眼看我军剩下的人不多了,突然不知从什么地方开出一辆坦克,两炮就把城门轰开了.我军趁势攻入城中,将敌人全部歼灭了.         这类电视剧比较常见,相信大家看了不止一次.但是,我看完之后,那个场景还一直留在我的脑海里.成千上

让你提前认识软件开发(47):同行评审

第3部分 软件研发工作总结 同行评审            在<浪潮之巅>这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某一行多了一个空格.         吴军老师所描述的内容,其实就是软件开发中的同行评审流程.         几乎在所有的软件项目中,都需要同行评审.一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等定不会是十全十美的.如

让你提前认识软件开发(33):数据操纵语言(DML)

第2部分 数据库SQL语言 数据操纵语言(DML)           数据操纵语言(Data Manipulation Language,DML)包括insert.delete和update语句,用于增.删.改数据.         本文用以下的表tb_employeeinfo作为例子加以说明: create table tb_employeeinfo (     employeeno         varchar(20)       not null,       -- 员工工号    

提前认识软件开发(29) 数据库脚本文件的布局

"没有规矩,不成方圆",规范数据库脚本文件的代码布局具有以下重要意义: (1) 可表现出代码良好的逻辑结构,提高代码的准确性.连续性.可读性及可维护性. (2) 有利于提高产品的开发质量和效率,并降低开发成本. (3) 对于开发人员来说,养成良好的脚本编写习惯有助于提高个人的数据库脚本编程水平,进而提高脚本编程效率. 可见,统一的.良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,并涉及到自身脚本编程能力的提高. 1. 脚本布局顺序概述 在实际的软件开发