文档章节

如何设计一个好的测试用例

o
 osc_x4h57ch8
发布于 2018/04/24 13:31
字数 960
阅读 0
收藏 0
go

精选30+云产品,助力企业轻松上云!>>>

 

一,检查标准

1.准确性(Accurate)

Tests what the descrīption says it will test. 测试覆盖了描述部分需要测试的内容。

 

2.经济性(Economical)

Has only the steps needed for its purpose.测试用例没有冗余的步骤

 

3.可重复性(Repeatable)

Self standing, same results no matter who tests it.测试用例应该是独立一致的,不管任何人执行,结果都一致。

 

4.可追踪(Traceable)

To a requirement.测试用例应该追溯到具体需求。

 

5.自我清理(Self cleaning)

Returns the test environment to clean state.测试结束后,恢复到原有干净的状态,不应该对原有系统造成影响。

 

6. 结构化和可测试性(Structure and testability)

测试用例应该是结构化。一般可以根据一个横向维度,对测试用例进行功能模块的划分;同时纵向维度上可以根据测试类别对测试用例进行纵向结构的划分。

测试同时应该是可测试性的。对于无法执行的测试用例是没有意义的。

 

7. 规范性

Has a name and a number. 命名 + 编号

Has a stated purpose that includes what requirement is being tested。目的

Has a descrīption of the method of testing。测试方法

Specifies setup information - environment, data, prerequisite tests, security access。环境, 数据, 前提,权限。

Has actions and expected results。步骤, 期望结果。

States if any proofs, such as reports or screen grabs, need to be saved。

Leaves the testing environment clean。清理数据,还原系统。

这里其实包含一个测试用例的组成部分:

  1. 命名, 编号(一般会结合功能进行命名)
  2. 目的描述
  3. 测试类型(该测试用例属于功能测试,性能测试,单元测试,系统测试等等)
  4. 环境
  5. 测试数据
  6. 前提
  7. 步骤
  8. 期望结果
  9. 实际结果
  10. 测试结果(通过还是失败)

一般来说测试用例,不会说明备份系统,还原系统的步骤,这两个步骤一般都会由自动化脚本自动执行。

 

8. 简洁性

Uses active case language。使用主动语气语句,就是动词搭配名字的语句,比如Put value, Click button. 不使用, please put value, you go to…

Does not exceed 15 steps。不超过15步。

Matrix does not take longer than 20 minutes to test。执行时间不要超过20分钟。这两点其实是希望测试用例的规模比较小,粒度不要太大。这点在大型系统不太适用。

这里给出了一个测试用例编写的指导规范。尽量简洁,精悍。

 

9. 完整性

Automated scrīpt is commented with purpose, inputs, expected results。自动化脚本应该包含必要的注释,包括,目的,输入,预期结果。

Setup offers alternative to prerequisite tests, if possible。 如果可能,提供不同的前置条件下的测试。

测试用例应该尽量完整,包含自动化脚本。

 

10. 有效性

Is in correct business scenario order with other tests? 测试用例是否符合商业案例?

 

11. 独立性

测试用例应该保持独立性,一个测试用例最好是能独立运行,不依赖于其他的测试用例的输出结果。出于结构的考虑,有些特殊测试用例设计本身就是作为setup来设计的,这个除外。

 

二, 测试用例的配置管理

Employs naming and numbering conventions。 采用命名和编号规范归档。

Saved in specified formats, file types

Is versioned to match software under test? 用例版本是否与当前被测试软件版本一致(对应)。测试用例最好有版本控制

Includes test objects needed by the case, such as databases? 包含用例需要的相应测试对象,如特定数据库。

Stored as read 存档阅读。

Stored with controlled access 存档时按角色控制访问方式

Stored where network backup operates 当网络备份时存档。

Archived off-site 离线归档。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

浅谈对python pandas中 inplace 参数的理解

这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否...

Linux就该这么学
12分钟前
0
0
C++ 从基本数据类型说起

前言 int 在32位和64位操作系统,都是四个字节长度。为了能编写一个在32位和64位操作系统都能稳定运行的程序,建议采用std::int32_t 或者std::int64_t指定数据类型。*与long随操作系统子长变...

osc_sxdofc9c
12分钟前
9
0
游戏音乐的作用以及起源

游戏音乐是由特殊的音乐、语言符号、美学符号组成,在电子游戏的发展下,游戏音乐越来越成熟,游戏音乐与美术相融合,能够带给玩家视觉与声音的感官冲击,形成游戏音乐所具有的独特的审美效果...

奇亿音乐
12分钟前
6
0
2020,最新Model的设计-APP重构之路

很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化。下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中,...

osc_mfzkzkxi
13分钟前
0
0
面对职业瓶颈,iOS 开发人员应该如何突破?

我们经常看到 iOS 开发人员(各种能力水平都有)的一些问题,咨询有关专业和财务发展方面的建议。 这些问题有一个共同点:前面都会说“我现在遇到了职业困境”,然后会问一些诸如“我是否应该...

osc_gfpedeca
14分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部