接口可用性
主要测试接口是否可用、接口是否存在、接口的协议类型。
测试用例要包括:
1、依据接口文档中给定的接口地址和协议方法能够访问到该接口。
2、使用错误的协议方法无法按照接口地址进行访问
3、使用正确的协议方法无法按照错误的接口地址进行访问。
输入输出参数个数及命名
主要测试接口包含的输入输出参数的个数以及各个参数的命名是否正确。
测试用例要包括:
1、依据接口文档检查输入参数的个数以及命名要和文档一致。
2、依据接口文档检查输出参数的个数以及命名要和文档一致(注意输出的正常参数和异常参数)。
3、输入错误的参数名,接口会报错,并有错误信息返回。
输入参数的必填项
主要测试接口对输入参数的可选与必输的要求。
测试用例中应包括:
1、按照接口文档对所有必输的输入项依次不输入,检查接口是否给予报错信息返回。
2、按照接口文档对所有选输的输入项依次检查是否可以不输入参数接口也有正确数据返回,无报错信息。
输入参数的合法性
主要对参数的录入规范要求进行检查。
试用例要包括:
1、依据接口文档,有明确的要求的(如:只能由数字组成、在以下几个可
选值中选择、只能由字母组成、长度最多为多少、格式为时间格式)输
入参数,检查是否符合这些要求。
2、依据接口文档,没有明确要求的输入参数,依次测试长度超长、含有特殊字符、全角半角等情况。
3、检查接口是否报错,给予错误返回信息。
输出参数内容的正确性
主要对输出参数的内容是否和后台真实数据一致进行检查。
测试用例中应包括:
1、考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的
数据的各字段内容是否正确,要具体检查每个字段的内容。一般通过与
后台数据库数据比较来进行检查。
2、考虑多种输入参数的组合情况,依次测试在这些组合情况下接口返回的数据中涉及输入参数的项,是否和最初输入的值一致。
接口实现功能验证
主要对接口操作的具体功能是否正常运转进行检查。
测试用例中应包括:
1、输入正确的参数,检查接口对应的要实现的后台功能是否正确运转。例如:对一个启动接口发送启动的命令,接口对应的后台系统能够正确启
动并返回正确的参数。
2、输入错误的参数,检查接口对应的要实现的后台功能是否没有运转。
接口文档规范性
主要对开发提供的接口文档是否规范准确进行检查。
测试用例中应包括:
1、接口文档中对于输入输出参数都有准确的命名,不存在模糊的情况。
2、接口文档对于每一个参数都有明确的类型说明,是否可选还是必输,是否有默认值。
3、接口文档对于每一个输入参数都要明确好基本的录入条件,比如长度最长多少、只能为数字还是字母、不能含有特殊字符等。
4、针对一个接口如果有多种类型的输出参数组合且参数的命名或个数有不同,这种情况,要在接口文档中罗列清晰,并明确指出出现这种类型的输出参数的条件。
接口传递参数的安全性
接口传递参数的加密显示
防止SQL注入攻击
SQL注入的原理
定义:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力。
由于没有对用户的输入数据进行必要的合法性判断,导致了攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得一些他想得到的数据。
举例:
在用户名输入框中输入:’or 1=1# ,密码随便输入,这时候的合成后的SQL查询语句为:
select * from users where username='' or 1=1#' and password=md5('')
等价于:select * from users where username=‘’ or 1=1
进而等价于:select * from users
查询功能测试的测试点
1、查询条件:有效单一字符集测试
系统支持的有效查询字符集,比如大小写字母,数字,下划线等。
支持中文的系统,还应进行中文查询条件测试
2、查询条件:无效单一字符集测试
系统不支持的有效查询字符集,比如可能存在的!•#¥%……等字符。
又比如在数字域中输入字符等。
3、查询条件:有效组合字符集测试
有效字符集的组合。如中英文混合。
4、查询条件:无效组合字符集测试
无效字符集的组合(负负得正)
5、添加空格的测试
查询条件的前/后添加空格测试
6、限定条件的下拉框中输入查询条件测试
比如在需求中限定只能在下拉框中选择查询条件的域中,尝试进行手工输入数据。
7、日期型域有效测试
正常日期查询条件测试
8、日期型域无效测试
非法日期,或系统不支持的史前日期等。
9、单一查询条件测试
每次使用一个查询条件进行测试
10、组合查询条件测试
每次使用两个或以上查询条件进行测试
11、全部查询条件测试
输入全部的查询条件进行测试
12、无条件查询测试
不输入任何的查询条件,直接点击查询按钮
13、精确查询测试
比如在姓名知道,输入用户的全名。进行精确匹配查询测试
14、模糊查询测试
比如在姓名知道,输入用户的部分名字。进行部分匹配查询测试
15、空查询结果专项测试
构造查询条件,使查询结果为空
16、空库专项测试
清空数据库后,进行查询测试
17、大数据量的查询
在数据库中构造大量数量,进行查询,看前台能否正常返回查询结果。(暂时不关注性能,性能方面可做专项测试)
18、异常网络状况的查询测试
比如大数据量查询过程中,拔掉网线,查看测试结果是否符合预期
19、构造只有一条数据满足查询要求
测试查询的查准率和查全率
20、构造有多条数据满足查询要求
测试查询的查准率和查全率
21、构造全部数据满足查询要求
测试查询的查准率和查全率
22、构造满足部分查询条件但不满足全部查询条件的数据
测试查询的查准率和查全率
23、对应查询的表都为空时,进行查询
测试查询的查准率和查全率
24、不同的人员或角色登录,是否有不同的查询范围
查询范围的明确(比如对应的人员是否只能查询自己添加或设置的信息)
25、是否具有相应的查询权限
有查询权限的人才能进行查询操作
26、稳定性
多人同时进行多次持续不断地大数据量查询,检查系统的资源消耗情况和系统能够正查查询的响应时间
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
奋斗之路虽漫长,不放弃才能到达终点。困难是磨砺意志的机会,挫折是成长的催化剂。坚持梦想,勇往直前,你将化身为无敌的勇者,在征途中绽放最耀眼的光芒。
不要因失败而气馁,每一次尝试都是向成功迈进的宝贵经验。奋斗的过程充满坎坷,但只要保持激情和毅力,你注定会创造属于自己的辉煌,蜕变成最好的自己!
每一次努力都是为了超越昨天的自己,每一份奋斗都是为了实现内心的梦想。不怕困难,不畏挫折,坚持不懈,你一定能成就不平凡的人生。