本文结合实例讲解一下 SQL 语句通过数据库辅助进行功能测试。希望阅读本文的小伙伴,能通过这个场景实例体会到SQL 语句在真实的功能测试时起到的作用

本次功能测试涉及的sql 知识点如下:

1 SELECT 查询

2 where 子句

3 count()

4 to_char()

5 group by

6 order by

7 两表联查(这里涉及left join)

8 子查询嵌套

 

实例中的需求文档 :

 

 

系统的测试界面:(不好意思,写文章的时候,想去截一个好一点的图片,测试环境无法登录了)

前提解释:

这个报表展示的对所有流程的延时次数和审批次数的统计结果。

由于流程数据没有办法通过前台报表统计验证, 在测试的时候要借助于数据库进行查询验证。

思路:

1  查询出按4列字段分组统计的审批次数

2 查询出按4列字段分组统计的延时次数

3 分别验证界面展示和查询结果是否一致

4 验证降序排列(用order by 语句排序验证结果顺序和界面是否一致)

 

扩展:

通过两表联查将审批次数,延时次数合并在一个结果里(left join 用法 及子查询嵌套)

(其实完成单句查询也能完成本次功能的验证,时间允许也为了强化两表查询及子查询嵌套功能的运用,增加语句扩展)

 

语句及运行结果:

审批次数:

 延时次数:

 

 

 

 

 

两表联查及子查询(left join)

之所以选择left join 是因为 右表 延时次数 的统计范围比 左表 审批次数 要窄,流程总表里的数据每一条都会被分组统计到 审批次数, 但是 只有 IS_TIMEOUT 这个字段为true 的才会统计

比如一个分组行中 该字段全是false 就是空所以看到延时数据 有的是null

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3