一. 测试用例
1. 常见设计测试用例
(1)非软件题型
设计水杯测试用例:
(2)软件题型
QQ空间测设用例:
(3)代码型题
一般情况下,代码型题是由下面方法来设计的:
设计冒泡排序测试用例:
代码语言:javascript复制import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] arr ={2,2,6,7,1};
BubbleSortMethod(arr);
System.out.println(Arrays.toString(arr));
}
//升序
private static void BubbleSortMethod(int[] arr) {
for(int i=0;i<arr.length-1;i ){
for(int j=0;j<arr.length-i-1;j ){
if(arr[j 1]<arr[j]){
int temp = arr[j 1];
arr[j 1] = arr[j];
arr[j] = temp;
}
}
}
}
}
(4)关于个人项目设计测试用例
详情查看具体博客: 【软件测试】博客系统项目测试报告(ssm项目)
2. 万能公式和具体的方法如何理解
(1)万能公式
测试万能公式:功能测试 兼容性测试 界面测试 性能测试 易用性测试 网络测试 安全性测试. 每个维度可以说四个及以上的测试用例.
(2)Fiddler实现弱网模式
第一步, 打开Fiddler
, Rules
-> Performance
-> 勾选 Simulate Modem Speeds
, 勾选之后访问网站会发现网络慢了很多.
第二步, 设置弱网参数, 菜单 Rules
-> Cutomize Rules
让我们来分析一下这几行代码:
代码语言:javascript复制if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
首先来判断 m_SimulateModem
是否为 true
(是否开启), 也就是是否设置了弱网模式.
oSession[“request-trickle-delay”] = "300";
Delay sends by 300ms per KB uploaded: 上传1KB内容需要 300ms, 转化一下上传速度: 1Kb/0.3s = 3.3KB/s, 也就是说网络上行速度只有 3.3KB.
代码语言:javascript复制oSession["response-trickle-delay"] = "150";
Delay receives by 150ms per KB downloaded: 下载1KB内容需要 150ms, 转化后的下载速度: 1KB/0.15s = 6.6KB/s, 也就是说网络下载速度只有6.6KB。
如果你想设置下载的速度为50KB/s, 你则需要设置 Delay 时间为 20ms.
也可以限制上传的速度, 调整 oSession["response-trickle-delay"]
的值即可.
(3)针对公交卡设计测试用例
3. 进阶设计测试用例
详情见: 软件测试分类: 你需要知道的不同类型测试
二. 自动化
1. 什么是自动化以及为什么要做自动化测试?
自动化测试是指使用一定的自动化工具和脚本来执行测试,以达到减少人工测试工作量、提高测试效率、缩短测试周期、增加测试覆盖率和减少测试成本等目的。
在软件开发过程中,随着产品功能和代码规模的不断扩大,手工测试逐渐变得非常繁琐和耗时。手动执行测试需要消耗大量的人力和时间,并且会产生大量的测试工作和文档,容易出现漏测、误测、重复测试等问题。另外,人工测试的覆盖率有限,无法覆盖全部测试用例,导致质量风险难以控制。
因此,为了提高测试效率和测试覆盖率,应用自动化测试成为必要的选择。自动化测试可以有效地解决手工测试的问题,提高测试效率,提高测试覆盖率,避免重复的测试工作,提高测试质量和稳定性。同时,自动化测试可以一定程度上降低测试成本,改善测试人员的工作环境和工作质量,提高软件交付的质量和效率。
2. Selenium 驱动 浏览器的工作原理
总结上图,Selenium的工作原理为以下:
- 开发人员编写自动化脚本代码(测试代码),使用Selenium提供的API来控制浏览器。
- 测试代码通过Web驱动程序(如ChromeDriver、GeckoDriver等)与所选浏览器建立通信。
- Web驱动程序将命令发送给浏览器,并接收来自浏览器的响应。
- 浏览器执行接收到的命令,例如导航至指定URL、查找和操作页面上的元素等。
- 浏览器将执行结果返回给Web驱动程序。
- Web驱动程序将结果传递给测试代码,以便进行进一步的处理和验证。
3. 设计自动化测试的思路
TODO
:博客系统测试待完善
详情查看具体博客:
【软件测试】博客系统项目测试报告(ssm项目)
- 明确个人项目里哪些页面需要做web自动化测试——参考标准:重要页面+访问量比较大的页面 页面更新周期比较长
- 如何实施:针对确定的页面设计界面测试用例,搭建自动化结构,编写自动化用例,维护
- 个人后续的优化展望:每次代码存在更新或者前端页面增加新的功能,可以手动执行代码 展望:后面会尝试代码提交之前可以自动触发自动化测试脚本
三. 性能测试
1. 关于性能测试
(1)概念:性能测试就是测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期. (2)性能测试目的:性能测试可以评估系统的性能和稳定性,发现系统中的瓶颈和漏洞,提高系统质量和可靠性,为系统性能优化和调整提供依据. (3)和功能测试的区别: 性能测试和功能测试是软件测试中两种不同的测试类型.
功能测试: 功能测试主要关注系统是否按照需求规格说明书中定义的功能进行正常运行,并符合用户的期望。其目的是验证软件的有效性或正确性,即确认软件在各种输入情况下能够按照业务逻辑正确地处理数据,并产生预期的输出结果。功能测试通常使用黑盒测试方法,即只关注软件的外部行为,测试人员不需要了解内部实现细节。
性能测试: 性能测试主要关注系统在不同负载和压力下的表现和响应能力.它通过模拟实际使用场景或特定负载情况,评估系统的性能指标,例如响应时间、吞吐量、并发用户数等。性能测试的目的是评估系统的效率、可靠性和可扩展性,确保系统能够在预期的负载下稳定运行。
测试方法: 功能测试通常采用黑盒测试方法,测试人员基于需求规格说明书或用户需求进行测试,验证软件是否满足特定功能要求。 性能测试通常采用白盒测试方法,测试人员需要了解系统的内部机制和架构,并使用性能测试工具进行负载模拟和性能指标的监测与分析。 (4)性能测试指标 详情见文章: 【软件测试】性能测试
2. LoadRunner
详情见: 【软件测试】性能测试工具Loadrunner