验收测试用例怎么写?
一、验收测试用例的要点
1. 验收测试的目的主要是验证软件功能的正确性和需求的符合性。软件研发阶段的单元测试、集成测试、系统测试的目的是发现软件错误,将软件缺陷排除在交付客户之前,而验收测试是与客户共同参与的,旨在确认软件符合需求规格的验证活动。这是组织和编写验收测试用例的出发点。
2. 验收测试用例所覆盖的范围应该只是软件功能的子集,而不是软件的所有功能。在V模型中验收测试和需求分析阶段是对应的,因此,验收测试用例应该与软件需求规格说明书之间具有可追溯性。一个软件产品可能使用在多个项目中,因而可能具有复杂多样的功能,验收测试不可能也没有必要把研发阶段所有的测试用例都拿出来重新执行一遍。
3. 验收测试用例应该是粗粒度的,结构简单、条理清晰,而不应当过多地描述软件内部实现的细节。验收测试预期结果的描述,要从用户可以直观感知的方面体现,而不是针对内部数据结构的展示。因此,需要用黑盒测试的方法,尽量屏蔽软件的内部结构。
4. 验收测试用例的组织应当面向客户,从客户使用和业务场景的角度出发,而不是从开发者实现的角度出发。使用客户习惯的业务语言来描述业务逻辑,根据业务场景来组织测试用例和流程,适当迎合客户的思维方式和使用习惯,便于客户的理解和认同。
5. 设计验收测试用例应当充分把握客户的关注点。在保证系统完整性的基础上,把客户关心的主要功能点和性能点作为测试的重点,其它的功能点可以一笔带过,避免画蛇添足。
6. 验收测试用例可以适当展示软件的某些独有特性,引导和激发客户的兴趣,达到超出客户的预期效果。适当展示软件在某些方面的独特功能,能够为软件增色不少,特别是在针对招标入围、设备选型、系统演示等目的的测试活动中,可以弥补软件在其它方面的不足,赢得加分的效果。
验收测试的目的决定了验收测试用例的设计不同于其它测试,因而具有不同的特点,验收测试用例应当在研发阶段测试用例的基础上重新组织和编写,而不能拿来直接使用。验收测试用例范围只是软件功能的子集,并与客户需求相对应,具有粗粒度、面向客户的特点,设计过程中要把握客户的关注点并适当展示软件的独有特性,这样才能达到较好的测试效果,从而引导项目走向成功。另外,在验收测试中不可避免地会发现软件的缺陷或与需求存在偏差的地方,项目团队应当与客户保持良好的沟通,根据问题的轻重缓急共同确定修复和改进的计划,使系统尽早验收通过、上线运行。
延伸阅读:
二、RF框架的三种
名列前茅种:Suite setup and teardown 测试套件层面。所谓测试套件(suite)就是一组测试用例集合,在RF里面就是一个Robot文件。也就是说这个层面的setup和teardown只发生在一组测试的开始前和结束后。并且RF最终teardown的log也是在最前面的。所以根据log没法看出关键字执行顺序。
第二种:Testcase setup/teardown 测试用例层面。每一个case的开始和结束都会去执行的步骤。一般预置条件和数据准备放在setup,数据销毁放在teardown。
第三种: Testcase setup/teardown。 和第二种类似,只是针对单个case作用,而不是一组case。当case中出现这个setup会覆盖写在setting处的setup
怎么做一个知识库。
相关推荐HOT
更多>>线性表中的随机存取(读写)是什么意思?
一、线性表中的随机存取(读写)是什么意思线性表是数据结构中的一种基本数据类型,它包含了一组有序的数据元素,每个元素有一个少数的前驱元素和...详情>>
2023-10-14 23:06:05为什么MySQL的IN操作在大于3个操作数时不用索引?
一、MySQL的IN操作在大于3个操作数时不用索引的原因1、索引数据结构的限制MySQL使用B树或哈希等索引数据结构来加速查询,但这些数据结构都有其...详情>>
2023-10-14 22:01:14STL中为什么遍历map比遍历list慢?
一、STL中遍历map比遍历list慢的原因1、内存布局不同 map和list的内存布局不同,map是一种基于红黑树实现的关联容器,其数据结构是一棵二叉搜索...详情>>
2023-10-14 18:50:17先根遍历和先序遍历的区别?
一、先根遍历和先序遍历先根遍历和先序遍历是同一个概念,只是叫法不同,也叫前序遍历,是一种节点遍历算法,指的是按照“根节点->左子树->右子...详情>>
2023-10-14 17:31:25热门推荐
完全二叉树为什么非常适合顺序存储结构?
沸线性表中的随机存取(读写)是什么意思?
热有哪些javascript数据结构相关库用来描述队列、树、图?
热为什么MySQL的IN操作在大于3个操作数时不用索引?
新Java中遍历数据结构Enumeration和Iterator相比有什么不同?
数据结构里面pnext与next有什么区别?
数组与集合有什么不同?
ASPICE是什么?
数据结构中HashMap与HashTable的区别是什么?
STL中为什么遍历map比遍历list慢?
什么是tpm管理?
什么叫精益管理?
先根遍历和先序遍历的区别?
HashMap为什么不用B+树来替换红黑树?