在实际的执行测试过程中,编写测试用例的工具,采用的不一,有用Excel表格,Word文档,xmind思维导图,禅道等等工具进行编写。那用什么工具来编写测试用例比较好呢?

写看看从什么时候开始编写测试用例。

当产品人员整理出需求分析文档或者开发人员把项目开发出来,给我们系统文档、部署环境或数据库结构等,此时,我们就可以根据这些文档来开始制定测试计划,设计和编写测试用例。切记,编写测试用例一定要以需求为参考!

软件测试用例是描述测试过程具体步骤的文档,。

软件测试用例的编写通常包括以下内容:

1,测试用例编号;2,测试项目(具体到模块);3,测试标题(描述bug出现的位置,方便快速定位);4,重要级别;

5,预置条件/前提条件;6,操作步骤;7,预期结果/期望结果;

8,测试结果/实际结果;9,复现概率等等。

重要级别也可称为优先级,是对缺陷的严重程度做出的判断。一般分为高(highs)级别,中(mediums)级别,低(lows)级别等。一些管理软件中也分为严重,重要,轻微等级别。只是名称的不同,在实际工作中,我们还要根据项目内容及bug详情来做具体的判断。另外还有一种小版本确认测试,也称为“冒烟测试”,其重要级别要优于高级别,但并不是所有项目必须。

冒烟测试

这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

来源

冒烟测试(smoke testing),据说是微软起的名字。在《微软项目求生法则》一书第14章“构建过程”关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。

冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

应用

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。

在一般软件公司,软件在编写过程中,内部需要编译多个版本(Builds),但是只有有限的几个版本需要执行正式测试(根据项目开发计划),这些需要执行的中间测试版本,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现,是否存在严重死机或数据严重丢失等Bug。如果通过了该测试,则可以根据正式测试文档进行正式测试。否则,就需要重新编译版本,再次执行版本可接收确认测试,直到成功。

预置条件是对测试的特殊条件或配置进行说明,操作步骤要求简介不冗余,思路清晰,能快速定位,并且步骤中还要包含设备或操作环境等信息。复现率则是判断该bug是否为必现或者出现的概率有多大,这在测试过程中也十分重要。

编写测试用例目的

编写测试用例可以使我们理清思路,避免遗漏,并以此来判断被测软件的各模块是否正常工作,同时可以跟踪测试进展,为测试项目提供参考依据。

测试用例的设计方法和编写

测试用例常见的编写方法

等价类划分法

等价类是输入的集合,在每个等价类中选取一定数目的值,选择适当的数据子集来代表整个数据集。等价类分为有效等价类和无效等价类,输入符合条件的值对功能进行检验,输入无效等价类中的值可以找出程序错误的地方。通过降低测试的数目来实现合理的覆盖,覆盖更多的可能数据,以发现更多的软件缺陷。

边界值分析法

对输入的边界值或稍大(小)于边界值的值进行分析。使用边界值分析法设计测试用例时一般与等价类划分结合起来,但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于、刚刚小于边界值的测试数据。

场景法

通过运用场景对系统的功能点或业务流程的描述,从而提高测试效果。场景法一般包括基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程。经过遍历所有的基本流和备用流来完成整个场景。

错误猜测法

通过直觉和经验对结果进行分析。

因果法

因果图一般指鱼骨图

鱼骨图(又名因果图、石川图),指的是一种发现问题“根本原因”的分析方法,现代工商管理教育将其划分为问题型、原因型及对策型鱼骨图等几类。

鱼骨图由日本管理大师石川馨先生所发明,故又名石川图。鱼骨图是一种发现问题“根本原因”的方法,它也可以称之为“Ishikawa”或者“因果图”。其特点是简捷实用,深入直观。它看上去有些像鱼骨,问题或缺陷(即后果)标在“鱼头”处。在鱼骨上长出鱼刺,上面按出现机会多寡列出产生问题的可能原因,有助于说明各个原因之间是如何相互影响的。

问题的特性总是受到一些因素的影响,我们通过头脑风暴法找出这些因素,并将它们与特性值一起,按相互关联性整理而成的层次分明、条理清楚,并标出重要因素的图形就叫特性要因图、特性原因图。因其形状如鱼骨,所以又叫鱼骨图(以下称鱼骨图),它是一种透过现象看本质的分析方法。鱼骨图也用在生产中,用来形象地表示生产车间的流程。

类型介绍

A、整理问题型鱼骨图(各要素与特性值间不存在原因关系,而是结构构成关系)

B、原因型鱼骨图(鱼头在右)

C、对策型鱼骨图(鱼头在左,特性值通常以“如何提高/改善……”来写)

因果图在软件测试用例设计过程中,用于描述被测对象输入与输入、输入与输出之间的约束关系。因果图的绘制过程,可以理解为用例设计者针对因果关系业务的建模过程。根据需求规格,绘制因果图,然后得到一个盘点表进行用例设计,通常理解因果图为判定表的前置过程,当被测对象因果关系较为简单时,可以直接使用判定表设计用例,如若不然可使用因果图与判定表结合的方法设计用例。

逻辑覆盖法

逻辑覆盖法是基路径是一组独立路径,这组独立路径中的所有路径相互不可替代,其余路径均可由这组路径的某种组合方式来遍历。基路径测试就是设计测试用例来覆盖每条基路径。

一般步骤:

①从被测程序代码生成程序图;

②根据程序图计算环复杂度,确定基路径集合的大小(二者相等);

③利用“主路径+转向”的策略确定基路径集合,即找到一条从程序入口结点开始,到出口结点结束的路径,该路径应经过尽可能多的判断结点(包括循环结点),然后每次以主路径为基础,每当碰到一个未转向的判断结点,就在该结点处转向一次。

④剔除不可行路径,补充其他重要的路径。如:补充执行概率较高的路径;补充可能包含严重缺陷的路径;补充经数据流测试确定具高风险的路径;补充涉及复杂算法的路径

⑤根据路径集合确定测试用例,填入测试数据。

测试用例管理

测试用例评审

⒈测试用例的评审

测试用例是软件测试的准则,但它并不是一经编制完成就成为准则。测试用例在设计编制过程中要组织同级互查。完成编制后应组织专家评审,需获得通过才可以使用。评审委员会可由项目负责人、测试、编程、分析设计等有关人员组成,也可邀请客户代表参加。

⒉测试用例的修改更新

测试用例在形成文档后也还需要不断完善。主要来自三方面的缘故:第一、在测试过程中发现设计测试用例时考虑不周,需要完善;第二、在软件交付使用后反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成;第三、软件自身的新增功能以及软件版本的更新,测试用例也必须配套修改更新。

一般小的修改完善可在原测试用例文档上修改,但文档要有更改记录。软件的版本升级更新,测试用例一般也应随之编制升级更新版本。

如何管理测试用例

  • 原始的excel管理
  • 专业的项目管理工具(eg:ALM、禅道、testlink、Bugzilla、JIRA)一般都为web格式

ALM

所谓应用生命周期管理(ALM),是利用计算机辅助软件工程(CASE tool)的软件工具,一个组织通常为多个客户生产软件,而客户的要求也是多样化的。一种软件生命周期往往不能适合所有的情况,因此组织可以规定多种软件生命周期供项目使用。

ALM定义

ALM(application lifecycle management)应用程序生命周期管理!

这些软件生命周期一般从软件工程文献中获得,并可加以修改,使之适于组织的情况。在制定项目定义软件过程时,这些软件生命周期可以和组织标准软件过程结合在一起使用。以标准的流程管理方式,协助降低软件开发过程中人为造成的开发瑕疵,特别适用于大型应用的开发。包括HP、Borland、Serena、IBM等,都有提供ALM产品。

ALM(adaptive logical module)在FPGA中指自适应逻辑模块!

Testlink

TestLink 是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。

TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。 TestLink 是sourceforge的开放源代码项目之一。作为基于web的测试管理系统,TestLink的主要功能包括:

测试需求管理

测试用例管理

测试用例对测试需求的覆盖管理

测试计划的制定

测试用例的执行

大量测试数据的度量和统计功能。

目前在XLS导入上存在缺陷,但可以使用第三方的“Testlink Convert”工具实现XLS/TXT/XML导入导出。

实现功能

1 根据不同的项目管理不同的测试计划,测试用例,测试构建相互之间独立

2 根据树状的项目,组件,分类,测试用例,设计测试用例

3 可以基于关键字搜索测试用例

4 可以将现有测试用例简单修改后复用

5 同一项目可以制定不同的测试计划,然后将相同的测试用例分配给该测试计划(可以实现测试用例的复用,筛选)

6 可以设定执行测试的状态(通过,失败,锁定,尚未执行),失败的测试用例可以和 bugzilla 中的 bug 关联,每个测试用例执行的时候,可以填写相关说明

7 测试结果分析(可以实现按照需求,按照测试计划,按照测试用例状态,按照版本,统计测试结果)

8 自定义角色,通过角色控制用户权限

9 测试结果可以导出为 excel 表格

10 测试用例可以导出为 csv , html 格式

11 通过超链接,可以将文本格式的需求,计划关联

12 可以将测试用例和测试需求对应。测试可以根据优先级指派给测试员,定义里程碑

缺陷

1 不能根据优先级筛选用例,如果需要优先级,必须通过关键字来实现,比较麻烦

2 不能设定测试用例的种类,如果需要必须通过关键字来实现,更麻烦,也不太现实

3 如果测试用例需要大量的数据,创建测试用例时不方便

优点

1、开源

2、免费

3、web界面

4、简单易学

综上所述,写测试用例的目的是为了,更好的指导测试,作为测试人员之间沟通的文档,分析与追踪软件缺陷,觉得用哪个工具、软件来写测试用例比较好,这个就因人而异了。

测试用例的设计采用什么工具比较好相关推荐

  1. 测试用例的设计方法(全)

                                                 测试用例的设计方法(全) 等价类划分方法: 一.方法简介 1.定义   是把所有可能的输入数据,即程序的输入域 ...

  2. 测试用例的设计方法--比较全的

    等价类划分方法:     一.方法简介 1.定义   是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑 ...

  3. 测试用例的设计方法及案例

    测试用例的设计方法 一.软件测试的生命周期(软件测试的流程是什么?) 二.如何描述一个BUG? 三.测试用例的设计方法 3.1等价类 3.2边界值法 3.3因果图法 3.4场景设计法 3.5正交排列法 ...

  4. 黑盒测试技术和测试用例的设计方法

    黑盒测试技术 软件测试即"有规程的发现错误的过程".其中错误是指"与所期望的设计之间的偏差,该偏差可能产生不期望的系统故障或者是错误的后果". 黑盒测试也称功能 ...

  5. 测试用例及其设计方法

    测试用例 测试用例的定义※ 设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果. 测试用例的模板包括和包含的内容 测试用例模版: 标识符:由测试设计过程说明和测试程序说明 ...

  6. 软件测试学习笔记:测试用例的设计方法(全)

    测试用例的设计方法(全) 等价类划分方法: 一.方法简介 1.定义 2.划分等价类: (1)有效等价类 (2)无效等价类 3.划分等价类的标准: 4.划分等价类的方法 5.设计测试用例 二.实战演习 ...

  7. 软件测试(4) 测试用例和设计方法

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 用例设计和编写的作用 2 测试用例编写注意事项 3 黑盒测试用例设计方法 3.1 测试数据选择 等价类划分法 边界值分析法 实战案例 3.2 测 ...

  8. (转)测试用例的设计方法(全)之二 错误推断、因果图

    测试用例的设计方法(全)之二 (3)错误推测方法 一.    方法简介 1.         定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2.      ...

  9. 【ETL】ETL----如何决定是否采用ETL工具

    原文链接:https://blog.csdn.net/cormier_an/article/details/12349533?utm_source=blogxgwz1 ETL工具还是手工编码 (购买工 ...

最新文章

  1. AOJ0033 Ball【贪心+序列处理】
  2. 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
  3. 《大话数据结构》第9章 排序 9.6 希尔排序(上)
  4. php用户注册重复_php 验证用户名重复
  5. 计算机专业技能考核方案,计算机专业技能课教学目标考核方案教程.doc
  6. 有两个python怎么停用其中一_如何在python中停止另一个已经运行的脚本?
  7. 安装Bootstrap3编译版本
  8. matlab 垂直边缘检测,matlab 边缘检测
  9. python之星河战争游戏
  10. MT6580 Android8.1调试移植费恩格尔指纹驱动
  11. 毕业设计-两轮自平衡小车主控板
  12. c语言编程if语句的用法,c语言if语句的用法有哪些
  13. java小球下落_java基础-小球下落问题
  14. 模型剪枝学习笔记 --- EagleEye: Fast Sub-net Evaluation for Efficient Neural Network Pruning
  15. 在本计算机无法启动用友通服务器,用友通客户端连接不上服务器解决方案
  16. 前后端分离-小项目-1前端布局
  17. java多文件压缩为ZIP
  18. 危机产生于缺乏危机感
  19. 第三章 模糊查询与分组查询 ② 代码
  20. 短视频seo获客系统,短视频SEO,短视频seo推广

热门文章

  1. PayPal开发文档整理(10)——Payouts Overview
  2. pytorch unfold记录
  3. 力科示波器 matlab,有没有人研究过力科示波器的二进制文件(.trc)怎么读取?...
  4. web前端开发技术期末考试_Web前端开发技术期末试题与答案2
  5. 在ArcEngine中的点元素如何使用其本身提供的各种符号特征
  6. 计算机信息学口号,信息工程学院口号
  7. 富设备平台突破:基于RK3568的DAYU200进入OpenHarmony 3.1 Release主干
  8. 外包合同中降低成本的战略性技巧
  9. 谷歌也搞收费?将在其Android App Store中开始
  10. 学习太极创客 — MQTT(一)MQTT 是什么