【软件测试】系统测试

一、系统测试概念

系统测试(System Testing)是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

二、系统测试的目的

系统测试的目的在于通过与系统的需求定义做比较,发现软件与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能满足指定的要求。

三、系统测试环境

1、真实环境:测出的结果比较真实,但是成本高。

2、仿真环境:成本低,可重复使用;但是结果不真实。

四、系统测试类型

针对一定的质量特性,采用一定的测试方法,叫测试类型。测试类型可以分为以下几种:

1、功能测试(functional testing):

范例:测试手机是否有打电话,发短信功能。
功能测试主要是根据需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。

功能测试的质量特性是:功能特性。

功能测试的目标就是发现以下四类错误:

(1)是否有不正确或遗漏的功能。
 
(2)功能实现是否满足用户需求和系统设计的隐藏需求。
 
(3)能否正确的接受输入,能否正确的输出结果。
 
(4)功能是否有冗余。
功能测试的要点:

(1)考虑用户是在什么情况下如何使用该功能的,比如网络断掉的时候访问网站。
 
(2)考虑用户对多个功能的组合应用。
 
(3)对于服务器软件,要考虑多用户同时访问、操作的情况,需要检查用户的同时使用是否会导致功能的失效。

功能测试的过程:执行、比较。

2、性能测试(performance testing):

范例:手机发短信的功能是否正确,对方能否成功接收短信,短信发送的时间效率,短信功能占用的内存空间大小等等。    
性能测试是用来测试软件在集成系统中的运行性能的,性能测试可以发生在测试过程的所有步骤中,即使是在单元层,一个单独的模块的性能也可以使用白盒测试开进行评估,但是,只有当整个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。

性能测试的质量特性是:效率特性、稳定特性、可靠特性。

性能指标:

(1)硬件指标。

CPU的占用率,硬盘
(2)软件指标。

系统的缓存、主要内存使用情况,系统吞吐量...
(3)时间指标。

我们的目标是在10M带宽下,QQ登录的时间为5秒(效率的时间特性),对CPU的占用不能超过200M(效率的资源利用性)
(4)成功率指标。

性能测试的要点:

(1)验证系统实现的性能是否与性能需求完全一致。
 
(2)检测系统实现的具体性能到底怎样。
性能测试的过程:

(1)设定性能指标。
 
(2)执行。
 
(3)分析。
 
(4)优化。

3、压力测试(Stress testing)

压力测试的目的是调查系统在其资源超负荷的情况下的表现,尤其感兴趣的是这些对系统的处理时间有什么影响。

压力测试可以分为两种:一种是稳定性压力测试;另外一种是破坏性压力测试。

(1)稳定性压力测试:长时间运行,系统是否还能满足客户的需求。

例如:我们将电脑连续一周不关机,检查系统的稳定性会不会变弱,效率会不会下降。
 
例如:手机保持通话一天,检查手机会不会死机,是否还能进行正常通话。
(2)破坏性压力测试:在远超过客户需求的情况下,测试极限情况下,有无不能容忍的错误。

例如:客户要求,可以允许20000个人在同一时间内在微信上使用发红包功能,我们就可以测试在同一时间内50000个人能否发红包,可以发送不成功,但是绝对不能允许,在从银行卡里扣除钱之后,对方没有收到红包,但是钱却没有返回。

压力测试的要点:要想做到压力测试,必须将极限情况模拟出来,然后再在该极限情况下进行测试,看系统性能如何。

4、负载测试(Loaded Testing)
  1. 范例:手机ROOT后,在手机后天运行不同的软件数量,来比较手机性能的差异。

承载的压力在不同负载情况下的一个对比。

5、容量测试(Volume testing)

范例:手机和电脑连接,进行数据传输,检查手机能够存储数据的最大值,以及此时性能的表现。
 
范例:不停的拍照片,直到手机相册不能存储为止,检验相册的最大容量。

容量测试的目的是使系统承受超额的数据容量来发现它是否能够处理的数据容量。

容量测试的要点:容量测试关键是在于测试一个最大值,能打开的最大文件大小,能保存的最大数据量等等,只要是系统中对于用户而言非常重要的最大值都可以作为容量测试的对象。

6、安全性测试(Security testing)

范例:锁屏界面,如果多次解锁不正确,应该锁定15分钟或者固定时间。
 
范例:登录手机QQ,输入错误密码,检查是否依然可以登录成功,如果可以成功登录,则安全性存在问题。
质量特性:安全性。

目的:通过模拟攻击来寻找安全缺陷,以提高安全性质量。

指标:

(1)环境安全

比如:对硬件系统进行的破坏性测试:植入木马、病毒等,检查系统系统是否能够启用安全机制,消除这些隐患。
(2)产品安全

比如被测产品会不会被破解。
(3)权限安全

*有用户名和密码,则可以做该权限指定的事情。
 
*没有用户名和密码,则不可以做该权限指定的事情。
 
*权限指定是否分配正确。
(4)信息安全

当我们打开网页时:检查是否由http转向https,也就是是否进行了加密处理。

7、GUI测试(Graphic User Interface)

范例:使用各个控件的功能,是否易用,GUI界面是否美观。
质量特性:易用性。

缺陷:可优化缺陷。

被测对象:

(1)界面中的简单元素。
 
(2)元素的组合。
 
(3)窗口。
测试点:

(1)整体性。例如:界面的显示。
 
(2)文字。
 
(3)窗口。
 
(4)窗口中的元素。例如:控件的功能。
 
(5)视觉、各种感知方式。

8、可用性测试(Usability Testing)

范例:运行手机微信,打开发红包功能,是否很容易学习和操作,运行过程是否复杂繁琐,帮助文档是否清晰易懂,提示信息是否正确。
可用性测试(Usability Testing)和可操作性测试(Operate Testing)有很大相似性,它们都是检验用户在理解和使用系统方面到底有多好,这包括系统功能,帮助文本和过程等等,以保证用户能够舒适的和系统进行交互,在实际测试过程中,往往把这两者放到一起进行考虑,很少严格区别这两者之间的关系。

测试对象:

(1)产品功能。
 
(2)安装包。
 
(3)帮助文档。
测试点:

(1)过分复杂的功能或指令。
 
(2)困难的安装过程。
 
(3)帮助是否准确易懂。
 
(4)提示是否准确易懂。

9、安装性测试(Installation Testing)

范例:在手机上安装微信软件,安装包文件是否齐全,安装过程是否正确,如果需要取消,点击相应按钮是否可以成功取消,安装完软件之后,点击进入微信,检查各个功能能否正常运行。
质量特性:功能特性;可用性特性。

对象:

(1)安装包。
 
(2)安装手册。
测试过程:

(1)多台相同的符合条件的干净的系统。
 
(2)辅助工具。
 
(3)执行安装过程。
 
(4)作对比(文件、注册表、配置文件、安装顺序、共享文件、冲突文件、安装过程的可逆可恢复性)。
测试点:

(1)安装前测试:检查安装包文件是否齐全。
 
(2)安装中测试:主要是对安装流程的测试以及安装时文件、注册表、数据库的变动,所谓安装流程的测试就是检查用户按照不同的顺序点击back、next、cancle是否能安装成功或者放弃安装。
 
(3)安装人员如何知道系统已经被正确的安装了。例如:是否有一个适当的安装测试过程。
 
(4)安装后测试:主要是检查安装好的软件是否能运行,基本功能能否使用。

10、配置测试(Configuration Testing)

范例:检查手机自身的配置,进入设置功能里面,看看配置是否正常。
配置测试主要测试系统在各种软硬件配置,不同的参数配置下具有的功能和性能。

质量特性:全部的特性。

目的:

(1)检验该配置是否满足要求。
 
(2)在一定条件下寻找最佳配置。
软件产品配置测试常见配置项:

(1)硬件配置(例如:CPU、网卡等等)
 
(2)操作系统配置。
 
(3)基础软件。
 
(4)产品自身(例如:“设置”里面就是产品自身的配置)

11、异常测试

范例:手机QQ正在传输文件,突然断网,在网络恢复之后,文件能否自动重新发送。
系统异常测试又叫系统容错和可恢复性测试,它是通过人工干预手段使系统产生软、硬件异常,通过验证系统异常前后的功能和运行状态。

质量特性:可靠性。

目的:验证产品容错、排错、恢复能力,提高可靠性。

异常测试过程:

(1)人为制造异常。
 
(2)实施和检查容错、排错、恢复过程。
 
(3)检查产品前后变化情况。
异常测试要点:

(1)系统断电。
 
(2)系统断网。
 
(3)系统死掉。
 
(4)系统数据丢失。

12、备份测试(Backup Testing)

范例:打开word文档,写入文字之后,在没有保存的情况下,突然断电,检查在系统恢复之后,有无word备份文件,备份文件的格式是否正确。
质量特性:恢复性。备份测试时恢复性测试的一个补充,并且应当是恢复性测试的一个部分。

备份测试的目的:验证系统在软件或者硬件失败的情况下备份数据的能力。

备份测试要点:

(1)备份出来的格式如何。

(2)备份是否成功,还需要通过数据的导入来进行检查。

13、健壮性测试(Robustness Testing)

范例:下载一个手机APP,如果该APP不符合手机的版本,自动显示提示信息,回避这个问题。
健壮性测试(Robustness Testing)有时也叫容错性测试(Fault Tolerance),主要用于测试系统在出现故障的时候,是否能够自动恢复或者忽略故障继续运行。

一个健壮性的系统是设计出来的,而不是测试出来的。

14、文档测试(Documentation Testing)

范例:手机安装一个APP,有时会有一些安装和使用的手册,按照手册进行操作,验证手册流程是否正确。
这里的文档测试不同于评审和检视工作,主要是针对系统提交给用户的文档的验证。

文档测试的目的:验证用户文档是正确的并且保证操作手册的过程能够正确工作。

文档测试的优点:改进系统的可用性、可靠性、可维护性和安装性。

15、在线帮助测试(Online Help Testing)

范例:打开微信,在关于微信里面有帮助和反馈,这个就属于在线帮助,我们打开在新帮助,按照帮助进行操作,验证是否和事实相吻合。
用户在使用系统的时候,如果出现问题,首先求助的就是在线帮助,一个糟糕的在线帮助会很大的打击用户对系统的信心,因此一个好的系统,必须要有完备的帮助体系,包括用户操作手册,实时在线帮助。

在线帮助测试(Online Help Testing):主要用于验证实时在线帮助的可用性和正确性。

16、网络测试(Network Testing)

范例:在网络连接正常的情况下,检查是否能正常打开网页,打开网页的时间快慢。

网络测试是在网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证设备对接正常。


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

定兴县第三实验小学开展“宪法宣传周”系列活动

2023年12月4日是我国第十个国家宪法日,我校集中深入学习宣传宪法,弘扬宪法精神,维护宪法权威,开展“宪法宣传周”系列活动。 宪法主题升旗仪式 五(6)班薛谨熙同学以《学法懂法 与我同行》为主题做国旗下讲…

K-means算法通俗原理及Python与R语言的分别实现

K均值聚类方法是一种划分聚类方法,它是将数据分成互不相交的K类。K均值法先指定聚类数,目标是使每个数据到数据点所属聚类中心的总距离变异平方和最小,规定聚类中心时则是以该类数据点的平均值作为聚类中心。 01K均值法原理与步骤 对于有N个…

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日,以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会,共话数实融合新趋势,共拓合作发展新空间。 作为生…

9.关于Java的程序设计-基于Springboot的家政平台管理系统设计与实现

摘要 随着社会的进步和生活水平的提高,家政服务作为一种重要的生活服务方式逐渐受到人们的关注。本研究基于Spring Boot框架,设计并实现了一种家政平台管理系统,旨在提供一个便捷高效的家政服务管理解决方案。系统涵盖了用户注册登录、家政服…

Java se的语言特征之封装

目录 封装的概念常见的一些包静态成员变量代码块 封装的概念 可以理解为套壳屏蔽细节,将数据和操作数据的方法进行有机的结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互 从语法的层面来理解就是,被private修饰的成员变或者成员方法,只能在当前类中使用,但是可以…

力扣541.反转字符串 II

文章目录 力扣541.反转字符串 II示例代码实现总结收获 力扣541.反转字符串 II 示例 代码实现 class Solution {public String reverseStr(String s, int k) {char[] ans s.toCharArray();for(int i0;i<ans.length;i2*k){int begin i;int end Math.min(ans.length-1,begin…

3、Linux_系统用户管理

1.Linux 用户管理 1.1概述 Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。 1.2添加用户 语法 useradd […

QT----Visual Studio打开.ui文件报错无法打开

问题 在我安装完qt后将它嵌入vs&#xff0c;后新建的文件无法打开ui文件 解决方法 右击ui文件打开方式,添加,程序找到你qt的安装目录里的designer.exe。点击确定再次双击就能够打开。

【每日一题】重新规划路线

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;深度优先搜索方法二&#xff1a;广度优先搜索 写在最后 Tag 【深搜】【广搜】【树】【2023-12-07】 题目来源 1466. 重新规划路线 题目解读 题目给定一张由 n个点&#xff08;使用 0 到 n−1 编号&#xff09;&#…

Linux查看命令的绝对路径

linux查看命令的绝对路径 在Linux中&#xff0c;可以使用以下命令来查看命令的绝对路径&#xff1a; 1、which 命令名 例如&#xff0c;要查看chronyc命令的绝对路径&#xff0c;可以运行&#xff1a; which chronyc 2、whereis 命令名 例如&#xff0c;要查看chronyc命令…

好单库无代码API集成:广告推广与营销系统的高效电商平台连接方式

电商平台与无代码API集成的协同效应 随着数字化浪潮的不断推进&#xff0c;电子商务的生态正在快速演变。在这个过程中&#xff0c;电商平台的实时数据同步和高效运营对于保持竞争力至关重要。好单库作为电商领域的一大创新&#xff0c;提供了无需编程的API集成解决方案&#…

lv11 嵌入式开发 IIC(上) 19

目录 1 IIC总线简介 1.1 串行、半双工&#xff08;同时只能1收或者1发&#xff09; 1.2 IIC总线通信过程 2 IIC总线信号实现 2.1 IIC总线寻址方式 2.2 起始信号和停止信号 2.3 字节传送与应答 2.4 同步信号 2.5 典型IIC时序 3 练习 1 IIC总线简介 1.1 串行、半双工&a…

6.1 U-boot的使用

由于Ubuntu出现了一些问题&#xff0c;后面都是使用正点原子官方版本。 一、U-boot使用 1. U-boot源码 Linux 系统要启动需要通过 bootloader 程序引导&#xff0c;也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化 DDR 等外设&#xff0c;然后…

77. 组合

组合 描述 : 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 题目 : LeetCode 77. 组合 : 77. 组合 分析 : 请看回溯怎么回事 , 里面讲的很清晰 . 解析 ; class Solution {public List<List<Integ…

看图学源码之 CopyOnWriteArrayList 源码分析

基本简介&#xff1a; 是Java中的一个线程安全的List实现&#xff0c;也是ArrayList 的安全版本&#xff0c;所以就不会有ArrayList 的并发修改异常 的问题产生了 原理 每次在对 List 进行修改时&#xff0c;创建一个新的副本&#xff08;即拷贝&#xff09;&#xff0c;而不…

Agility Robotics 为亚马逊仓库批量生产的人形机器人

一家旨在每年生产 10000 个两足机器人的革命性工厂即将在俄勒冈州塞勒姆成形。 这些机器人由 Agility Robotics 开发&#xff0c;旨在协助亚马逊等行业巨头运输、起重和处理危险货物。 Agility Robotics 表示&#xff0c;其名为 RoboFab 的新制造工厂将成为世界上第一个大规模…

【计算机网络笔记】物理层——频带传输基础

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Linux_CentOS_7.9 VNC安装卸载以及相关配置开机自启动服务简易记录

VNC安装卸载以及相关配置开机自启动服务&#xff1a; 查看环境&#xff1a;&#xff08;yum镜像源配置可以参考我之前文章里面有详细参考http://t.csdnimg.cn/mzGoI&#xff09; [rootorcl238 ~]# rpm -qa | grep vnc ##查看系统现有VNC软件版本 gtk-vnc2-0.7.0-3.el7.x86…

2023年5个自动化EDA库推荐

EDA或探索性数据分析是一项耗时的工作&#xff0c;但是由于EDA是不可避免的&#xff0c;所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形&#xff0c;而是获得对数据集的理解&#xff0c;并获得对变量之间的分布和相关…

深圳锐杰金融:用金融力量守护社区健康

深圳市锐杰金融投资有限公司&#xff0c;作为中国经济特区的中流砥柱&#xff0c;近年来以其杰出的金融成绩和坚定的社会责任立场引人注目。然而&#xff0c;这并非一个寻常的金融机构。锐杰金融正在用自己的方式诠释企业责任和慈善精神&#xff0c;通过一系列独特的慈善项目&a…