如何组织测试用例?

如何组织测试用例比如何写测试更重要。个人的一些经验总结在此。

  1. 使用describe 和  context 来区分 不同的测试分类和同一个测试的不同方面

  describe 一般用作分类,需要测试什么东西

  context 用来对需要测试的东西的不同方面

  比如


descirbe Order do #分类

describe "#status" do

context "should include a default value" do  #具体的某一方面

... ...

end

end

end

  可以参考的文章 http://www.slideshare.net/ihower/rspec-7394497 @ihower的ppt,

  2. 区分类方法和实例方法

  如 类方法用 .class_method, 实例方法使用 #instance_method

  3. 最好嵌套超过三层测试用例结构

  比如 如下的测试代码看起来就非常清楚


describe ClassA do

describe "#method_a" do

context "x = 1" do

end

end

end

  4. 遇到多种交错的测试条件 改怎么办?

  比如 我们要测试方法 method_a , 然后 方法 method_a 中有method_b 的条件约束 改怎么办呢?

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-21 10:25:24

如何组织测试用例?的相关文章

测试用例的关键的认知

无论缺陷预防工作贯彻落实地多好,软件组件总有缺陷.这很明显,因为开发商无法阻止/消除软件开发周期的所有缺陷.因此,软件必须进行彻底的测试,然后才交付给最终用户.测试人员的责任是:设计既可以(ⅰ)找软件缺陷,又能(ii )评估该软件的性能,可用性和可靠性等方面的测试. 现在,为了实现这些目标,测试人员必须(往往是从一个非常大的执行域中)选择和/或制定测试用例的有限数量.不幸的是,完整的测试通常不是在这个范围,预算和时间的约束内实现和/或执行的.重要的是,当测试开始失控且不按计划地运行时,由于预期无

扩展JUnit4以促进测试驱动开发

简介:在采用测试驱动开发的项目中,有一个经常困扰开发者的问题是:当存在大量的测试用例时, 一次运行完所有的测试用例要花费很长的时间,采用 TestSuite 来组织测试用例的方式缺乏灵活性,通 常它的组织结构大体和 Java Package/Class 的组织结构类似,不能和当前实现的业务需求完全相关.本 文将通过扩展 JUnit4 来实现一种可以更加高效灵活地组织和运行测试用例的解决方案,促进测试驱动开 发实践更有效地进行. 实际 Java 开发中单元测试常遇到的问题 在敏捷开发中,为了提高软

Robot Framework 快速入门_中文版

目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变量 组织测试用例 测试套件 启动和卸载 使用标签 创建测试库       介绍 概述 Robot Framework 是一个关键词驱动的自动测试框架.测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序.因为Robot Framework 是灵活和可扩展

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.3节性能测试成功与失败要素

2.3 性能测试成功与失败要素 性能测试上手难度比较高,是一门融合测试.开发.运维.需求调研.架构.协调管理等综合技能的学科,掌握一门性能测试工具对于性能测试来说只是万里长征的第一步,没有一定的需求.开发和运维专业能力,往往会吃一些苦头. 性能测试有几大难点: (1)需求分析: (2)场景设计: (3)性能诊断调优. (4)环境搭建和模拟 往往很多性能测试从业者在需求分析方面没有做到位,不能准确地预估用户行为:在场景上不能复现用户操作,无法把需求体现在脚本和场景设计上,无法模拟真实的系统负载:这

Spark与EVAM组CP,应对实时流式事件处理

文章讲的是Spark与EVAM组CP,应对实时流式事件处理,Apache Spark是一个开源大数据处理框架,其速度快并具有很好的易用性,并且可用来应对复杂分析.Spark可以支持流式处理,图表数据,机器学习,以及Hadoop和map/reduce.它是探索建立实时事件处理的理想平台. EVAM是一个实时事件处理方面的领跑者,有超过40种解决方案可以支持全球超两亿用户的实时事件处理.最近几年,EVAM已经建立了多种客户解决方案,比较流行的几个比如AWS Kinesis和RedShift.既然Ap

介绍Robotium+Orange实现androidUI自动化测试

Robotium: Robotium是一个开源的androidUI自动测试工具,这里不做介绍,可以见:http://code.google.com/p/robotium/ Orange: Orange 是我们自己开发的运行在PC端的(只支持windows),用于组织测试用例.自动重签名apk文件.以及操作模拟器.启动运行测试用例.用 例crash以及失败重跑.测试结果收集等功能的一个工具,通过简单的配置,既可以全自动全SDK版本回归运行robotium编写的测试用例. 为什么开发Orange?

应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于

Web Service单元测试工具实例介绍之SoapUI

原文  Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组织测试用例是该工具的一大特性,下面将通过实例介绍如果使用SoapUI进行Web Service单元测试. l        构建项目 SoapUI工具中的项目(Project)是由一个或多个Web Service组成的,这里我们以"中国电视节目预告 Web 服务: http://www.webxml

一起谈.NET技术,应用Visual Studio 2010辅助敏捷测试(上)

敏捷软件开发是近些年来比较热门的话题,<敏捷宣言>四条主要精神和十二条基本准则概括了敏捷开发的基本思想.围绕着这些基本概念和思想,产生了一系列的轻量级方法,如:极限编程.测试驱动开发.Scrum.特性驱动开发等.虽然具体名称.过程和侧重点不尽相同,但是相对于非敏捷的开发方法而言,它们都更强调面对面的沟通.团队不同角色之间的紧密协作.频繁交付新的可用的软件版本.紧凑而自我组织型的团队等.敏捷开发只是提供了一个思想和方法论,而要在实际的工程中正确运用它,并真正显现出它的优点和产生实际的效果,这对于