软件测试之架构与用例

1、为什么需要测试用例?

2、如何根据项目的具体需求,构造测试用例结构?

3、测试用例有哪些基本元素组成?

4、设计测试用例时,需要遵循哪些基本的原则?

5、在测试用例设计方面,白盒测试方法和黑盒测试方法是如何体现出来的?

6、系统测试用例设计和功能测试用例设计有什么区别?

7、测试用例如何被组织起来完成不同阶段的测试任务?

本章从以上7个维度去描绘


1、为什么需要测试用例?

           测试用例是为某个特定测试目标而设计的,它是测试操作过程序列、条件、期望结果及相关数据的一个特定的集合,那么如何构造这个集合呢?测试用例的设计,类似于软件产品的设计,可以考虑面向对象、面向结构或面向方法来实现其框架,而且和分析一脉相承,结构化设计依赖于结构化分析、面向对象的设计依赖于面向对象的分析,以及基于场景的设计依赖于基于场景的分析。

2、如何根据项目的具体要求,构造测试用例结构?

        从需求、功能特性、用例、应用场景,就能获得所需要的测试用例。需求来自业务,产品开发的最终目的就是解决业务问题或支持业务,需求一定是软件产品开发的根基,也是软件测试的源泉。产品中要实现的功能都来源与用户的实际需求,而设计好的功能也要能回溯到需求。理解了需求,也就是了解了软件产品功能设计与实现的上下文,这样,无论是开发人员还是测试人员才能真正理解产品的功能特性。功能特性可以理解为,不同的用户角色使用是不一样的。用例对应的是用户故事----用户角色的行为分析,因为我们看到用户故事的模板就是“作为.....用户角色,我要做什么,以达到什么目的”。从需求到功能、从功能到用例、从用例到应用场景,逐步分解,上一层和下一层都形成一对多的关系,到了最后这层就形成一个庞大数目的测试用例。这样,我们为一个应用场景设计多个测试用例,为功能特性设计几十个或几百个用例,功能特性的覆盖才是充分的,这样的覆盖率度量才有意义,否则是没有意义的。

3、测试用例有哪些基本元素组成?

字段名称       类型注释
用例编号 整型该用例的唯一id
测试目标字符型该用例实现的目标是什么
测试环境要求字符型执行该用例时,是否有特殊环境限制,如测试环境、开发环境、生产环境等
前提字符型事先设定、条件限制、如已登录、某个选项已选上
输入数据字符型输入要求说明或数据列举
操作步骤字符型按操作步骤的顺序,准确详细地描述
期望输出字符型
所属模块整型模块标识符
优先级整型1,2,3(1对应的优先级最高)
层次整型0,1,2,3(0对应最高层)
关联的测试用例整型上层(父)用例的标识符

4、设计测试用例时,需要遵循哪些基本的原则?

业务流程:流程可以分为多个层次——企业级流程、部门流程、具体事务流程、按层次设计测试用例。

业务活动构成完整的流程:测试设计覆盖每项活动及其上下文(前置条件、后置条件)。

业务规则:一般和活动结合起来,取决于前置/后置条件,贯穿整个业务流程中。

业务数据:数据活动的输入/输出数据,部分体现在业务规则上。

除上述以外,还可以从5W1H这几个维度去思考:

测试目标:Why——为什么而测?功能、性能、可用性、容错性、兼容性、安全性等

测试对象:What——测什么?被测试的项目,如对象、函数、类、菜单、按钮、表格、接口、整个系统等。

测试环境:Where——在哪里测?测试用例运行时所处的环境,包括系统的配置和设定等要求,也包括操作系统、浏览器、通信协议等单机或网络环境。

测试前提:When——什么时候开始测?测试用例运行时所处的前提或条件限制。

输入数据:Which——哪些数据?在操作时,系统所接收的各种可变化的数据,如数字、字符、文件等。

操作步骤:How——如何测?执行软件和程序的先后次序步骤等。如打开对话框、单击按钮等。

5、在测试用例设计方面,白盒测试方法和黑盒测试方法是如何体现出来的?

白盒测试方法和黑盒测试方法是从不同的测试角度来解决问题的,前者从内部逻辑思路来考虑,后者从外部功能思路来考虑。

6、系统测试用例设计和功能测试用例设计有什么区别?

系统测试:将整个硬件、软件、用户作为一个整体测试对象,测试整个用户操作流程。也包括功能、性能、负载、可服务性等DFx功能测试。需要了解整个产品场景使用流程,模拟用户使用环境;用例设计主要参考资料是需求文档,系统设计架构文档和需求分析会议等。       

功能测试:俗称黑盒测试,测试对象是产品的各个功能,不需要考虑整个产品的系统结构和代码;按照项目启动时的需求文档和概要设计,对一个个功能点和需求点进行测试。需要了解产品各个模块的功能,业务流程,状态转换,接口参数;用例设计主要参考资料是功能设计文档和开发产品澄清会议。

7、测试用例如何被组织起来完成不同阶段的测试任务?

创建测试集(Test Suite),将服务于同一个测试目的或某一运行环境下的一系列测试用例有机地组合起来。并且结合测试用例框架、具体测试用例和测试集,可以在不同阶段完成测试任务,如下图所示。

》测试用例设计过程包括用例框架、具体测试用例描述。

》用例框架,包含模块划分、测试目标、优先级和层次。

》单个用例描述,包含“标识符、测试环境要求、数据输入或条件、操作步骤、所期望的输出”等基本信息,还包括测试用例预计执行的时间、关联测试用例的标识(父Case或子Case)等其他信息。

》用例执行过程,可以通过测试集体现出来,但测试结果、缺陷等需要在执行后才能记录下来。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值