【软件测试】总结

news2025/1/26 0:03:37

文章目录

  • 一. 测试用例
    • 1. 常见设计测试用例
      • (1)非软件题型
      • (2)软件题型
      • (3)代码型题
      • (4)关于个人项目设计测试用例
    • 2. 万能公式和具体的方法如何理解
      • (1)万能公式
      • (2)Fiddler实现弱网模式
      • (3)针对公交卡设计测试用例
    • 3. 进阶设计测试用例
  • 二. 自动化
    • 1. 什么是自动化以及为什么要做自动化测试?
    • 2. Selenium+驱动+浏览器的工作原理
    • 3. 设计自动化测试的思路
  • 三. 性能测试
    • 1. 关于性能测试
    • 2. LoadRunner

一. 测试用例

1. 常见设计测试用例

(1)非软件题型

设计水杯测试用例:在这里插入图片描述

(2)软件题型

QQ空间测设用例:
在这里插入图片描述

(3)代码型题

一般情况下,代码型题是由下面方法来设计的:
在这里插入图片描述
设计冒泡排序测试用例:

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
在这里插入图片描述
在这里插入图片描述
让我们来分析一下这几行代码:

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.

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的工作原理为以下:

  1. 开发人员编写自动化脚本代码(测试代码),使用Selenium提供的API来控制浏览器。
  2. 测试代码通过Web驱动程序(如ChromeDriver、GeckoDriver等)与所选浏览器建立通信。
  3. Web驱动程序将命令发送给浏览器,并接收来自浏览器的响应。
  4. 浏览器执行接收到的命令,例如导航至指定URL、查找和操作页面上的元素等。
  5. 浏览器将执行结果返回给Web驱动程序。
  6. Web驱动程序将结果传递给测试代码,以便进行进一步的处理和验证。

3. 设计自动化测试的思路

TODO:博客系统测试待完善
详情查看具体博客:
【软件测试】博客系统项目测试报告(ssm项目)

  1. 明确个人项目里哪些页面需要做web自动化测试——参考标准:重要页面+访问量比较大的页面+页面更新周期比较长
  2. 如何实施:针对确定的页面设计界面测试用例,搭建自动化结构,编写自动化用例,维护
  3. 个人后续的优化展望:每次代码存在更新或者前端页面增加新的功能,可以手动执行代码 展望:后面会尝试代码提交之前可以自动触发自动化测试脚本

三. 性能测试

1. 关于性能测试

(1)概念:性能测试就是测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期.
(2)性能测试目的:性能测试可以评估系统的性能和稳定性,发现系统中的瓶颈和漏洞,提高系统质量和可靠性,为系统性能优化和调整提供依据.
(3)和功能测试的区别:
性能测试和功能测试是软件测试中两种不同的测试类型.

功能测试:
功能测试主要关注系统是否按照需求规格说明书中定义的功能进行正常运行,并符合用户的期望。其目的是验证软件的有效性或正确性,即确认软件在各种输入情况下能够按照业务逻辑正确地处理数据,并产生预期的输出结果。功能测试通常使用黑盒测试方法,即只关注软件的外部行为,测试人员不需要了解内部实现细节。

性能测试:
性能测试主要关注系统在不同负载和压力下的表现和响应能力.它通过模拟实际使用场景或特定负载情况,评估系统的性能指标,例如响应时间、吞吐量、并发用户数等。性能测试的目的是评估系统的效率、可靠性和可扩展性,确保系统能够在预期的负载下稳定运行。

测试方法:
功能测试通常采用黑盒测试方法,测试人员基于需求规格说明书或用户需求进行测试,验证软件是否满足特定功能要求。
性能测试通常采用白盒测试方法,测试人员需要了解系统的内部机制和架构,并使用性能测试工具进行负载模拟和性能指标的监测与分析。
(4)性能测试指标
详情见文章:
【软件测试】性能测试

2. LoadRunner

详情见:
【软件测试】性能测试工具Loadrunner
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

杀死僵尸进程ZooKeeperMain

关闭Hadoop后jps发现还有个进程ZooKeeperMain没有关闭&#xff0c;使用kill -9 <>也没有用&#xff0c;这种就是僵尸进程&#xff0c;需要用父进程ID来杀死 解决方法 话不多说&#xff0c;直接上解决方案&#xff0c; 1. 第一步 清楚需要关闭的进程ID&#xff0c;我…

CentOS-7下安装及配置vsftpd详细步骤(可匿名访问)

第一步安装vsftpd&#xff1a; yum -y install vsftpd 第二步修改ftp主目录所属用户为用户ftp&#xff1a; chown ftp /var/ftp/pub 第三步备份及配置ftp&#xff1a; cp /etc/vsftpd/vsftpd.conf ~/vsftpd.conf.bakvim /etc/vsftpd/vsftpd.conf 配置如下图&#xff1a;…

《AWD特训营》CTF/AWD竞赛的速胜指南!全面提升安全技术

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《粉丝福利》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、AWD竞赛的由来《AWD特训营&#xff1a;技术解析、赛题实战与竞赛技巧》1.1介绍&#xff1a; 《AWD特训营》…

Qt拖拽文件到窗口、快捷方式打开

大部分客户端都支持拖拽文件的功能&#xff0c;本篇博客介绍Qt如何实现文件拖拽到窗口、快捷方式打开&#xff0c;以我的开源视频播放器项目为例&#xff0c;介绍拖拽视频到播放器窗口打开。   需要注意的是&#xff0c;Qt拖拽文件的功能&#xff0c;不支持以管理员权限启动的…

《PyTorch深度学习实践》第三讲 反向传播

《PyTorch深度学习实践》第三讲 反向传播 问题描述问题分析编程实现代码实现效果 参考文献 问题描述 问题分析 编程实现 代码 import torch # 数据集 x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0] # w权重 w torch.tensor([1.0]) w.requires_grad True # 需要计算梯度…

Kubernetes实战(二)-使用Kor过滤Kubernetes未使用资源

1 概述 Kor 是一个找到未使用 Kubernetes 资源的工具。目前&#xff0c;Kor 能够识别并列出以下未使用的资源&#xff1a; ConfigMap Secret Service ServiceAccount Deployment StatefulSet Role HPA PVC Ingresse PDB 2 安装部署 安装方法 从发布页面下载对应你…

OFDM原理及MATLAB仿真

文章目录 前言一、OFDM 总体概述1、OFDM 概述2、OFDM 优点 二、OFDM 基本原理1、基本思想2、OFDM 调制和解调3、OFDM 系统的发射机和接收机框图 三、OFDM 系统数学模型1、sinc 函数2、OFDM 时域表达式3、OFDM 频域表达式 四、OFDM 时域及频域仿真1、绘制时域及频域波形①、MATL…

SpringCloud-Sleuth

一、介绍 &#xff08;1&#xff09;用于追踪服务链路 &#xff08;2&#xff09;搭配zipkin实现 二、项目搭建 &#xff08;1&#xff09;下载zipkin.jar https://repo1.maven.org/maven2/io/zipkin/java/zipkin-server/2.12.9/&#xff08;2&#xff09;运行 java -jar …

Android---Android 是如何通过 Activity 进行交互的

相信对于 Android 工程师来说&#xff0c;startActivity 就像初恋一般。要求低&#xff0c;见效快&#xff0c;是每一个菜鸟 Android 工程师迈向高级 Android 工程师的必经阶段。经过这么多年的发展&#xff0c;startActivity 在 google 的调教下已经变得愈发成熟&#xff0c;对…

Python文件读写实战:处理日常任务的终极工具!

更多资料获取 &#x1f4da; 个人网站&#xff1a;涛哥聊Python Python文件的读写操作时&#xff0c;有很多需要考虑的细节&#xff0c;这包括文件打开方式、读取和写入数据的方法、异常处理等。 在本文中&#xff0c;将深入探讨Python中的文件操作&#xff0c;旨在提供全面的…

Python开发者的宝典:CSV和JSON数据处理技巧大公开!

更多资料获取 &#x1f4da; 个人网站&#xff1a;涛哥聊Python 在Python中处理CSV和JSON数据时&#xff0c;需要深入了解这两种数据格式的读取、写入、处理和转换方法。 下面将详细介绍如何在Python中处理CSV和JSON数据&#xff0c;并提供一些示例和最佳实践。 CSV数据处理…

项目配置vue.config jsconfig babel.config .prettierc .env .eslintrc

.env 在一个产品的前端开发过程中&#xff0c;一般来说会经历本地开发、测试脚本、开发自测、测试环境、预上线环境&#xff0c;然后才能正式的发布。对应每一个环境可能都会有所差异&#xff0c;比如说服务器地址、接口地址、websorket地址…… 等等。在各个环境切换的时候&am…

java的Timer全网最详细总结

1.简介 在Java 1.3版本中引入了Timer工具类&#xff0c;它是一个古老的定时器&#xff0c;通常与TimerTask和TaskQueue一起使用。Timer工具类的实现涉及到TimerTask类、Timer类、TimerQueue类和TimerThread类。其中&#xff0c;TimerQueue和TimerThread类与Timer类位于同一个类…

docker安装skyWalking笔记

确保安装了docker和docker-compose sudo docker -v Docker version 20.10.12, build 20.10.12-0ubuntu4 sudo docker-compose -v docker-compose version 1.29.2, build unknown 编写docker-compose.yml version: "3.1" services: skywalking-oap:image: apach…

创意作品管理软件 Bridge 2024 mac中文版 br2024功能特色

Bridge 2024 mac旨在连接不同的Ad obe应用程序&#xff0c;帮助用户更轻松地管理和编辑他们的创意作品。 Bridge 2024 mac软件特色和功能介绍 一致的用户体验&#xff1a;Bridge 2024现在具有增强的用户界面&#xff0c;可提供与其他Creative Cloud应用程序类似的体验。用户还…

《向量数据库指南》——向量数据库一些技术难点

一些技术难点 在文章的前半部分,我们列举了一些向量数据库应该具备的特性,然后比较了以 Milvus 为代表的向量数据库和 ANN 算法库、向量检索插件的不同之处。接下来,我们来聊聊构建向量数据库过程中会遇到的一些技术难点。 就好像一架飞机一样,内部每个零部件和系统相互连通…

PPP的建链过程

下图是PPP协议整个链路过程需经历阶段的状态转移图&#xff1a; 图1 PPP链路建立过程 PPP运行的过程简单描述如下&#xff1a; 通信双方开始建立PPP链路时&#xff0c;先进入到Establish阶段。 在Establish阶段&#xff0c;PPP链路进行LCP协商。协商内容包括工作方式是SP&am…

解决win10因为WSL问题无法正常启动docker

解决win10无法成功启动dockerdesktop因为WSL问题无法启动 问题起因解决方法 问题起因 因为需要在windows复现一个CVE漏洞&#xff0c;就需要安装在WIN10上装docker&#xff0c;但是在启动的时候出现下面报错。 然后查了一下是因为WSL的版本太低了。更新以后发现打开docker仍然…

C++20中的关键字

文章目录 前言关键字列表关键字含义总结 前言 源于上一篇中提到了 decltype是一个关键字&#xff0c;所以去查了现有的关键字列表&#xff0c;其实我对C/C的关键字还停留在上世纪大概30多个的时代&#xff0c;虽然知道C加了 auto、constexpr 等关键字&#xff0c;但查询过后才…

52 杨辉三角

杨辉三角 题解1 DP 给定一个非负整数 numRows&#xff0c;生成 杨辉三角的前 numRows 行。 在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1 输出: [[1…