测试开发基础知识2
10.什么是等价类和边界值法?
1)等价类划分
等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类划分认为如果一个测试用例在某个等价类中的一个值上通过测试,那么它在这个类中的其他值上也会通过,适用于输入数据较多的情况,有助于减少测试用例的数量并保证覆盖率
有效等价类:符合规格说明的输入条件
无效等价类:不符合规格说明的输入条件
举个栗子:
有效等价类:
输入:
Passw0rd!
(包含大写字母、小写字母、数字和标点符号)。预期结果:密码验证通过。
无效等价类:
输入:
passw0rd!
(缺少大写字母)。预期结果:密码验证失败,提示缺少大写字母。
输入:
PASSW0RD!
(缺少小写字母)。预期结果:密码验证失败,提示缺少小写字母。
输入:
Password!
(缺少数字)。预期结果:密码验证失败,提示缺少数字。
输入:
Passw0rd
(缺少标点符号)。预期结果:密码验证失败,提示缺少标点符号。
输入:
password
(完全不符合规则)。预期结果:密码验证失败,提示密码不符合规则
通过测试有效等价类来验证系统的正确性,通过无效等价类来验证系统的健壮性,
2).边界值法
软件错误往往发生在输入或输出范围的边缘,所以边界值分析专注于测试输入数据的边界条件,而不是中间值,包括正常边界值(最大、最小值)和异常边界值(最大值+1、最小值-1),适用于测试那些对输入数据有明确范围或限制的功能。
11.接⼝测试⽤例的编写需要注意哪些要点
明确接口的规格:接口的功能,请求的类型,接口的输入参数和输出参数,参数的数据格式,预期的结果。
返回值:看正常输入和异常输入产生的结果是否符合预期。
接⼝的业务逻辑和功能是否正常
数据库校验
性能测试:接口的tps,响应时间。
安全性,敏感信息加密,权限控制等
12.接口测试常用的一些工具
Postman:API测试⼯具,⽤于发送各种HTTP请求,并检查响应,⽀持⾃动化测试脚本 编写
Jmeter:主要⽤于性能测试和负载测试,但也可以⽤于API测试。
Swagger UI:⽤于设计、构建、⽂档化和测试REST API的⼯具
13.性能测试时一般需要关注哪些指标
TPS:每秒事务数,代表了性能的好坏,TPS越⾼,性能越好
平均响应时间:请求的平均消耗时间,时间越短,性能越好
并发数:同时向服务端发起请求的虚拟⽤户数,在不同的⼯具⾥可以⽤多个进程/线程来实现
错误率:失败的请求⽐例
14.功能测试⽤例⼀般包含哪些内容
测试⽤例ID:⼀个唯⼀标识符,⽤于区分和引⽤测试⽤例。
测试⽤例标题:简短描述测试⽤例的⽬的或主要功能。
功能模块:指明此测试⽤例所属的软件功能模块或部分。
测试⽬的/描述:对测试⽤例的⽬标和测试内容的详细描述。
前置条件:执⾏测试⽤例之前需要满⾜的条件,如特定的系统状态或配置。
测试步骤:详细描述如何执⾏测试,包括⽤户如何与系统交互,每⼀步应该输⼊什么数据,选择哪些选项等。
测试数据:在测试中使⽤的具体数据,包括输⼊值和需要验证的输出值。
预期结果:描述在成功执⾏测试步骤后预期的系统⾏为或输出。
实际结果:在执⾏测试后记录的实际结果,⽤于与预期结果进⾏⽐较。
通过/失败标准:定义何种条件下测试⽤例被认为是通过或失败。
测试环境:描述执⾏测试⽤例所需的软件、硬件、⽹络配置等环境信息。
备注信息:任何额外的信息,⽐如相关的依赖、特殊注意事项等。
缺陷/问题ID:如果测试失败,关联的缺陷或问题的标识符。
15.请你说⼀下设计测试⽤例的⽅法
黑盒测试⽅法:
等价类划分法:将输⼊数据划分为不同的等价类,每个等价类都有相似的⾏为。然后从每 个等价类中选择测试⽤例。
边界值分析法:关注输⼊值的边界情况,测试接近边界值和边界之间的情况。
因果图法:使⽤因果图来识别和描述系统中各种因果关系,辅助设计测试⽤例。
决策表测试:创建决策表,列出不同的输⼊组合和相应的输出,确保所有可能的组合都得 到测试。
状态转换测试:适⽤于有状态的系统,测试系统在不同状态下的⾏为和状态之间的转换。
白盒测试⽅法:
语句覆盖:确保每个源代码语句都⾄少执⾏⼀次。测试⽤例的⽬标是覆盖代码的所有语 句。
分⽀覆盖:确保每个分⽀语句都⾄少执⾏⼀次,以测试代码中的条件语句。
路径覆盖:通过执⾏代码的所有可能路径来测试系统,包括所有可能的条件分⽀和循环。
条件覆盖:测试代码中条件表达式的所有可能取值,以确保所有条件的不同情况都被覆 盖。
循环覆盖:确保测试覆盖了循环的不同情况,包括循环的⼊⼝、中间和退出。