软件测试之架构与用例
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)等其他信息。
》用例执行过程,可以通过测试集体现出来,但测试结果、缺陷等需要在执行后才能记录下来。
软件测试之架构与用例相关推荐
- 《微软的软件测试之道》读书笔记
<微软的软件测试之道>读书笔记 第一部分 关于微软 第1章 微软的软件工程 偏重于产品独立发布的模式通常称为PUM(Product Unit Manager)即 ...
- 软件测试之魂:核心测试设计精解
软件测试之魂:核心测试设计精解(第2版)(掌握核心竞争力成为不可替代的测试精英) 肖利琼著 ISBN 978-7-121-19677-5 2013年5月出版 定价:59.00元 356页 16开 编辑 ...
- 全程软件测试之测试需求分析与计划
全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计 ...
- 软件测试之魂:核心测试设计精解(第2版)
<软件测试之魂:核心测试设计精解(第2版)> 基本信息 作者: 肖利琼 出版社:电子工业出版社 ISBN:9787121196775 上架时间:2013-5-13 出版日期:2013 年5 ...
- 软件测试之魂:核心测试设计精解(第2版)》
<软件测试之魂:核心测试设计精解(第2版)> 基本信息 作者: 肖利琼 出版社:电子工业出版社 ISBN:9787121196775 上架时间:2013-5-13 出版日期:2013 年5 ...
- 物联网大数据平台软件开发架构案例解析
物联网大数据平台软件开发架构案例解析 有人说物联网是引领信息技术的第三次浪潮. 第一次浪潮是个人电脑的出现,开创了信息时代的第一次革命,此次浪潮成就了微软.IBM等巨头. 第二次浪潮是以信息传输为特征 ...
- 分层结构的生活例子_详解软件分层架构设计、工作原理、实例以及具体架构
概述 今天的内容主要来自<软件架构模式>第一章,觉得还不错,所以分享给大家. 分层架构 分层架构是一种很常见的架构模式,它也叫N层架构.这种架构是大多数Jave EE应用的实际标准,因此很 ...
- 软件测试密码修改教程,软件测试之用户注册和密码修改测试用例设计
软件测试之用户注册和密码修改测试用例设计 发表于:2009-03-05来源:作者:点击数: 软件测试技术导航 软件测试技术 : 软件测试工程师 测试用例 功能测试 测试管理 缺陷管理 手机测试 自动测 ...
- 并发编程知识总结,软件开发架构,socket套接字模板,粘包问题,struct解决粘包问题,上传大文件数据,socketserver,关于操作系统的发展史,进程,线程。...
并发编程知识总结 软件开发架构 C/S: client:客户端 server:服务端 优点:占用网络资源少,软件的使用稳定 缺点:服务端更新后,客户端也要更新,需要使用多个软件,需要下载多个客户端 B ...
最新文章
- C++/C++11中头文件algorithm的使用
- 我在MongoDB年终大会上获二等奖文章:由数据迁移至MongoDB导致的数据不一致问题及解决方案...
- 剑指offer_第9题_变态跳台阶
- 20175223 《Java程序设计》第十一周学习总结
- 读《c#与算法--快速排序》随笔
- 加固前奏2-替换application
- 宣汉计算机公办学校,宣汉职业中专学校是公办的吗
- Java实现折半查找(二分查找)的递归和非递归算法
- 第5章 Python 数字图像处理(DIP) - 图像复原与重建5 - 均匀噪声
- 蚂蚁金服分布式事务开源以及实践 | SOFA 开源一周年献礼
- CSS3 Flex布局弹性容器的属性
- matlab与水库调度,蛙跳算法优化水库调度,全局迭代中最优解未更新
- 图片维度不匹配_内容审核基础:审核方式、流程与审核维度
- 日常记账后,图表查看账目类别
- Android读写日历,Android日历提醒问题总结
- oracle database express database,安装Oracle Database Express Edition 11g时出现问题
- 数据库关系代数中除运算讲解和SQL语句的实现
- MongoDB4.2.0安装包并配上安装教程
- C++核心准则​NR.4:不要坚持将每个类声明放在其自己的源文件中
- 免费获得筹码分布接口交易数据,Tushare的使用方法
热门文章
- cookie机制和session机制的原理和区别
- linux安装Gnome
- 把重要的东西存在手机便签备忘录里安全吗
- Python-Point Cloud 系列(二)——PointNet论文复现
- [数据分析方法论]剖析大数据分析方法论的几种理论模型
- Practical Byzantine Fault Tolerance and Proactive Recovery
- phantomjs 抓取html,phantomjs抓取完整网页
- 求矩形槽内电位分布matlab,MATLAB求解接地金属槽内电位分布
- 知识分享之Golang——函数的基本用法
- 我看来csdn学生大本营的两种人。