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

一 测试用例原则

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

二 需求覆盖要求

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

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

  • 功能图法

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

  • 错误推测法

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

  • 正交实验设计方法

主要步骤:

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

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

  • 数据库测试

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

  • 可理解(操作)性

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

  • 可移植性

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

相关推荐
不言而喻i1 小时前
Excel测试用例文档文档转换亿图xmind工具
测试用例·亿图图示
程序员杰哥5 小时前
依赖于第三方接口时,如何进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
郝学胜-神的一滴5 小时前
系统设计 023:三大核心表Sharding设计思路与最优解决方案
java·开发语言·python·架构·php·软件开发
格数致用2 天前
数据库设计与表结构详解|信息化项目全流程管理系统源码逐行精讲(五)
人工智能·政务·数据库设计·外键约束
测试19982 天前
2026全新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
郝学胜-神的一滴2 天前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
姚青&4 天前
测试流程管理
测试用例
天才测试猿4 天前
软件测试知识总结(基础篇)
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例