浅谈构建软件测试自动化测试

大公司做自动化测试一般都会有一个大的框架。就好比一般大公司规章制度比较全,你只要按照规章制度去做就可以了。自动化测试框架也是如此,一般测试人员只要在现有框架编写自动化测试脚本就可以了。

这样的好处,节省了时间和精力,便于复用,对测试人员的要求也就降低了。不好的地方,如果框架设计的不好,灵活性可能会差些。

自动化测试框架都包含什么内容呢?

主程序 首先要有一个主程序,一个脚本从最开始执行到最后生成报告执行完毕都离不开主程序。就好比C语言中有个main函数。设计主程序时可以采用面向对象的思想。

测试数据 数据包括哪些?一般测试脚本都是跟测试用例对应的,一个用例对应一个测试脚本。这些测试用例的总集就是一个数据,可以把这些测试用例集放入一个或多个文件。如果测试用例比较少,1个文件就OK了。如果测试用例功能模块比较多,可以把不同功能模块用例分别放在不同文件。另外,测试用例中使用的一些测试数据,也可以抽象成测试脚本中的变量。采用“数据驱动自动化”要求数据和测试脚本尽量分离。

库函数   把测试中常用的操作抽象出来,写成一些函数,然后把这些函数放在一个库中。写测试脚本时直接调用就可以了,不需要自己动手写了。这样的好处可以降低脚本的维护成本。同样一个功能A和B站在各自的角度分别写了一个函数,后面C也需要用这个功能函数,他可能就不太清楚用哪个好。

记录日志 测试脚本执行,不可能都是成功的,即便成功,也最好能把日志记录下来,以便后续对测试执行情况的分析、追踪。具体要记录哪些东西,跟被测对象关系很大。这个要研究、分析被测对象、被测功能后确定。能够把日志记录分等级就更好了,毕竟记录日志也是耗资源的,打印日志太多对被测对象的正常功能也会造成影响。

生成测试报告 手工测试完成后,要写一个测试记录,把测试执行情况(例如,哪些成功、哪些失败、失败原因等)记录下来。自动化测试执行完成后也要生成一个测试记录,只不过它是自动生成的。测试记录要做成什么格式?Word?Excel?txt?记录哪些内容?这就看测试管理者或项目管理者的要求了。一般生成一个Excel能够打开的表格比较好,便于统计分析。

大体过程         开始主程序要读取测试用例和测试数据。开始测试执行,记录测试日志,最后测试执行完毕生成测试报告。

时间: 2024-10-24 23:37:12

浅谈构建软件测试自动化测试的相关文章

浅谈构建前端自动化工作流程一 之 node

一.Node环境 1.什么是Node? Node.js类似于jquery.js,不是js文件,也不是一个js框架,而是Server side JavaScript runTime,服务端的一个JS运行时:Node中只能运行ECMScript,无法使用BOM和DOM:目前我们的JS是运行在浏览器内核中的:说到底就是一个JS运行环境. 2.Node的历史 Node.js 0.12.7版本,也就是官方版本,但是另一个分支是IO.js,他是社区的产物,不是官方的东西,io.js有很多新特性,迭代速度非常

浅谈自动化测试流程

浅谈AST(自动化测试)流程,欢迎大家多多指点,多提宝贵意见. AST阶段一:需求收集——分析自动化测试需求 1.举行启动会议,对SUT(被测试的系统)进行总体描述 2.SUT的要求是可测试和可自动化的 3.评估哪些测试可以自动化 4.分析当前生命周期中SUT使用的工具和复用现有的AST工具 5.对AST和测试中需要的工具进行评估,并提出建议 6.确定和讨论测试环境,包括测试环境的采购和安排,列出测试环境的概要 7.与开发相关人员一起走查一遍AST测试需求,最后达成一致意见 8.给出可以自动化的

浅谈未来网站的构建

前言: 话说"合久必分,分久必合",从过去的几年来看我们现在正处于一个资源.信息技术和服务等整合的时代,从行业到技术,从电子商务到企业资源,那么对于现存的网站如何进行整合,未来的网站将以什么形式展现在人们面前,与现在相比又给人们带来哪些不同的用户体验呢,本文作者站在个人角度,结合近年来出现的技术,对于未来的网站发表下个人见解. 随着各行业信息化进程的加快,各种功能的网站应运而生,工作.购物.学习.娱乐.医疗.金融和社交等网站都层出不穷,由于这些网站的出现,给人们生活带来很大的方面, 人

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

浅谈mysql主从复制的高可用解决方案

1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID",开源软件,由 LINBIT 公司开发.DRBD 实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之中.他是有内核 模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络RAID的功能.也就是说当你将数据写入本地的DRBD设备上的文件系统 时, 数据会同时被发送到网

浅谈软件工程

借鉴<构造之法>--浅谈软件工程 源程序就是代码,建立在数据结构之上,对数据进行操作.数据分为静态数据和动态数据. 软件构建不仅仅是cc和link命令,一个复杂的软件具有合理的软件架构.软件设计,实现等等.软件团队要从需求分析开始,把合适需求梳理出来,然后展开后续工作,如软件架构设计,写数据结构和算法,测试到最后发布软件. 由“软件=程序+软件工程”扩展出“软件企业=软件+商业模式” 程序是基本功,软件工程决定了软件的质量,商业模式决定了一个软件企业的成败,软件从业人员的道德操守会极大的影响软

浅谈三层架构(2)

感受: 对于三层的学习,自己刚开始的感觉真的是一头雾水啊,当时真的出现了很烦躁的感觉,我想这种感觉的出现真的是很可怕的,就这样耽误了两天,在网上也搜寻者自己想要的资料,昨天四姐也好心给调试了一番,顿时把自己的大脑打通了,其实问题难不难,就在于能不能打开思路了! VB.NET的三层实现: 上篇文章主要是对于三层有了一个表面的理解,下面针对机房收费登陆界面来进行一下简单的理解: UI层主要就是表面的构建,多以需要使用windows窗体来完成,而其他BLL和DAL则不需要,之间建立一个类库则可以完成自

浅谈敏捷软件开发与传统软件开发

本文将介绍传统软件开发与敏捷软件开发,并简单分析二者的优缺. 首先我查阅相关资料大致了解了下为什么会爆发"软件危机"和什么是"软件危机".由于在早期的软件开发活动中有明显的个体化特征,开发流程不规范,人们没有将软件与程序加以详细的区别,对程序之外的数据和相关文档资料没有给予重视,对编写程序之外的软件活动也没有给予重视,因此出现了"软件危机"."软件危机"的特点有:开发成本急剧上升.不能按时交付软件.软件难以维护.无法保证软件质

管理从砖瓦进化为人——浅谈传统软件工程到敏捷软件开发之变革

管理从砖瓦进化为人 --浅谈传统软件工程到敏捷软件开发之变革 前言 如果把软件开发过程比作修筑一座建筑的话,传统的软件工程方法对人的管理就像是把人化作一砖一瓦,秩序地堆砌,一层一层构建起摩天大厦. 显然地,人是不同于砖瓦那样的死物的.人作为一种复杂的动物,软件开发者会有喜怒哀乐,枯燥重复的工作内容会使他们提不起兴趣而缺乏激情:客户想法会随变动的现实而一天天有所转变,软件需求很难保持一成不变:开发者与测试者对于项目的认识会存在差异,而差异将导致效率的降低--因而传统的有些"反人类天性"的