数据库系统测试方案中测试用例原则

一 测试用例原则

  1. 测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等. 
  2. 测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果. 
  3. 测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。

二 需求覆盖要求

  • 边界值分析法:
  1.  如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越 这个范围边界的值作为测试输入数据。 
  2. 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最 大个数多一的数作为测试数据。
  3.  根据规格说明的每个输出条件,使用前面的原则1。
  4.  根据规格说明的每个输出条件,应用前面的原则2。 
  5. 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元 素和最后一个元素作为测试用例。
  6. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值 作为测试用例。
  • 等价类划分法:
  1. 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
  2. 在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可以确立一个有效等价类和一个无效等价类。 
  3. 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
  4. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 
  5. 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
  • 因果图法:

在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法。(因果图/判定表法比较适合测试组合数量较少的情况,一般少于20种)

  • 功能图法

功能图是描述程序状态变化、转移的过程,因为软件运行或操作的过程可以看作是其状态不断发生变化的过程。测试用例的设计就是如何覆盖所有软件表现出来的状态,即在满足输入/输出的一组条件下,软件运行是一系列有次序的、受控制的状态变化过程。 

  • 错误推测法

推测法主要依赖经验、直觉来作出简单的判断甚至是猜测,给出可能存在缺陷的条件、场景等,在找到缺陷后,设计出相应的测试用例。

  • 正交实验设计方法

主要步骤:

  1.  对软件需求规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。   
  2. 根据基本功能的质量需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。
  3. 确定待测试软件中所有因素及其权值,这是测试用例设计的关键,确保全面、准确。权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。
  4. 加权筛选,生成因素分析表。
  5. 利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。 利用正交实验设计方法设计测试用例,可控制生成的测试用例数量,覆盖率高且测试效率高。
  • 接口间测试

测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。

  • 数据库测试

依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试。

  • 可理解(操作)性

理解和使用该系统的难易程度(界面友好性)。

  • 可移植性

  在不同操作系统及硬件配置情况下的运行

相关推荐
志尊宝9 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
j7~17 小时前
【软件测试】(用例篇)
软件测试·测试用例·测试用例的设计方法·场景设计·错误猜测法·测试用例的粒度和评价
2302_8057710718 小时前
Day20:实战:接口自动化测试框架封装之一------接口关联封装
功能测试·自动化·测试用例
霍格沃兹测试学院-小舟畅学2 天前
AI 智能化测试:从测试用例生成到自动执行的工程实践
人工智能·测试用例
zuozewei2 天前
第00篇-为什么是-k6-AI-时代的工具选型
软件测试·jmeter·性能测试·ai测试·k6
逆天的蝈蝈7 天前
数据安全、信创适配与系统对接
低代码·软件开发
utmhikari10 天前
【DIY小记】解决散热问题提升超频性能的经验
性能测试·cpu·硬件·bios·超频·主板·风道
海拔网络软件开发公司11 天前
同城信息发布软件开发案例:整合家政、搬家、招聘与地图找房服务
软件开发·小程序开发·系统开发
测试者家园12 天前
不写测试用例也能做自动化测试?
自动化测试·软件测试·人工智能·测试用例·智能化测试