新开发模式下自动化测试

关键字:自动化,测试, 功能测试

测试的目标是两个:“发现系统中存在的问题”和“证明系统能够满足用户的需求”。

自动化测试既不单指某种工具,也不仅仅指某种测试技术,它是工具、过程、人员和方法的组合。

测试的现状Testing is dead

  • 开发速度第一质量第二
  • 新的敏捷开发模式
  • 开发人员技能越来越高
  • 测试在开发过程中起的作用越来越小
  • 设计和框架缺陷更重要

敏捷开发强调尽早测试、自动测试、持续测试

自动化测试的难点

1.        脚本量、脚本的可维护性

2.        测试数据的管理维护

3.        测试环境

自动化测试优点:

* 加快测试进度从而加快产品发布进度;

* 更多的测试;

* 通过减少手工测试降低测试成本;

* 提高测试覆盖率;

* 保证一致性;

* 提高测试的可靠性;

* 测试工作可以由技术能力不强测试人员完成;

* 定义测试过程,避免过分依赖个人;

* 测试变得更加有趣;

* 提高了编程技能;

自动化测试方法:

录制回放技术;

脚本技术;

数据驱动技术;

关键字驱动技术;

业务驱动技术.

自动化测试步骤:

  • 一份自动化测试需求,用来描述需要测试什么。
  • 回归测试是最宜采用自动化测试的环节。
  • API接口和命令行接口比GUI接口容易实现自动化;尽可能早的启动自动化测试项目,提出可测试性需求。
  • 自动化测试是一个长期的过程,为了与产品新版本的功能和其他相关修改保持一致,自动化测试需要不停的维护和扩充。
  • 有人对你的测试有效性提出质疑,那么,你必须考虑是否应该挖掘更严格的测试,以便能够发现开发人员优化之后的产品中的缺陷。

Tips:

如果不变的测试需求和变的测试实现交杂在一起,就会让变的测试实现变为测试噪音,增加后期无谓的更改工作量。

参考

Testing is Dead - Long Live Testing.pdf

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 11:24:13

新开发模式下自动化测试的相关文章

混合开发模式下主流移动开发平台分析

关键字:AppCan 移动开发平台 移动应用 Hybrid App在过去的两年中已经成为移动界的核心话题,但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java.Object-C.C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了.那么究竟什么才是Hybrid App呢?HybridApp概念Hybrid App:Hybrid App is a mobile appl

MVC开发模式下的用户角色权限控制

前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据库中,分别分配一个Id,这样,每个功能就都对应着一个Id. 2.在用户表中,每个用户都有一个用户角色(类似用户组)id 3.在角色表中,每个角色id都存放着他们自身角色所拥有的功能id的集合 然后在判断权限时,通过用户的角色Id获取相关功能id集合,然后判断当前访问的功能id是否在集合中,大致如此.

敏捷开发模式下的自动化测试研究

敏捷测试过程中的自动化目前在国内来看基本上还只是停留在概念阶段,据我所知,目前不少公司也都在尝试过程中,而实际的实践中能取得比较理想成果的,极为有限.而国外不少同仁也都对此持观望甚至抵触的态度.比如advanced QTP论坛的administrator Meir大大 就认为敏捷过程中的自动化是完全不现实的,理由就是sprint间隔时间内没办法完成一个完整自动化过程的设计,而频繁的变更会导致自动化资源的大量浪费,ROI上无任何前景可言. 从我个人观点来看,没必要保持如此的悲观,但更不能过于乐观.

敏捷开发模式下的测试

敏捷开发 敏捷开发倡导的就是迭代式和增量式的开发模式,并且强调测试在开发过程中的重要性 .主要是围绕以用户为中心,以客户需求为导向的开发过程,这个过程有一个特点就是"随时有变化".虽然敏捷开发引入了灵活性,但其中的重点还是在于客户满意度.客户是敏捷过程的关键环节.如果,客户能够有所参与,并且客户了解到开发对于他们参与的欢迎,那么有助于增加客户对最终产品和开发team的信心和满意度.如果客户由于其他原因不愿意参与进来,那么选择传统的开发流程更好.敏捷开发有三个比较明显的特征:依赖客户完成

敏捷开发模式下的测试工作

在华为业务线上有近40天的时间了,参与了两个版本,华为的项目大多数走的都是敏捷迭代开发模式了,至于什么是敏捷,网上有很多的解释与资料,这里就不阐述了,就说说这期间华为的一个敏捷模式. 敏捷开发的最大特点是:积极响应用户的需求,快速高质量的交付软件.所以很多需求会按照用户需求程度以及模块之间的关联程度划分为多个迭代,这里的迭代你可以看做是一个小的完整的版本周期,每个迭代包含多个story,一个story相当于一个功能点,一个小的需求,而一个大的完整的发布版本一般由几个迭代版本组成.敏捷开发的周期一

cocos2d-x+lua开发模式下编辑器的选择

原本打算直接用CocosIDE的,毕竟是官方出品,而且支持Android远程调试,windows下的调试也很方便,调试的信息也很全,智能提示也不错.好了,一切看上去很完美,但是它有一个致命缺陷,就是继承了eclipse一贯的特性--"卡".基于java写的eclipse我一直使不惯,一方面是快捷键跟vs迥异,而我又懒得去配置(如果他能像IntelliJ IDEA一样,可以方便的删除重复快捷键,我还有兴致去配置一下,但是重复的快捷键没有任何提示,只是在使用的过程中会有各种问题),另一方面

专刊文章 - Web UI框架引领J2EE新开发模式 代码生成器+手工merge半智能开发

前言:随着WEB UI框架(EasyUI/Jquery UI/ExtJS/DWZ)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也可以生成统一规范的界面!代码生成+手工MERGE半智能开发将是新的趋势,单表数据模型和一对多数据模型的增删改查功能直接生成使用,可节省50%工作量,快速提高开发效率!!! jeecg微云快速开发平台 - 云桌面展示  [J2EE  Code Generation]一款基于代码生成器的J2EE智能开发框架. JAVA编程有很多重复机械代码,生成器可以帮助解决50%的重

Fabric 链码开发,开发模式下的测试

关闭之前已启动的网络环境 sudo docker-compose -f docker-compose-cli.yaml down 进入devmode目录: /fabric-samples/chaincode-docker-devmode 启动测试网络 sudo docker-compose -f docker-compose-simple.yaml up -d 启动新窗口建立并启动链码: sudo docker exec -it chaincode bash 原文地址:https://www.c

springMVC前后端分离开发模式下支持跨域请求

1.web.xml中添加cors规则支持(请修改包名) <filter> <filter-name>cors</filter-name> <filter-class>com...common.filter.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url