软件测试进阶——测试划分

news2024/11/26 5:36:50

文章目录

  • 按照测试对象划分
    • 界面测试
    • 可靠性测试
    • 容错性测试
    • 文档测试
    • 兼容性测试
    • 易用性测试
    • 安装和卸载测试
    • 安全测试
    • 性能测试
  • 按照是否查看代码
    • 黑盒测试
    • 白盒测试
    • 灰盒测试
  • 按照开发阶段划分
    • 单元测试
    • 集成测试
    • 系统测试
      • 回归测试
      • 冒烟测试
    • 验收测试
  • 按照实施组织划分
    • α测试
    • β测试
  • 按照是否运行划分
    • 静态测试
    • 动态测试
    • 按照是否手工划分
    • 手工测试
    • 自动化测试
  • 按照地域划分
  • 问题

按照测试对象划分

界面测试

界面直接和用户交互,界面设计的好坏决定了用户使用软件的直观感受。
测试界面每一个功能的正确性。界面布局是否合理。(字体大小,是否斜体,图片布局排版,清晰程度)
界面的控件功能是否正常,滚动条,按钮,复选框。
要进行界面的不同分辨率的测试。
同一个Web页面不同页面大小下测试:
(页面从小到大变化过程中衔接丝滑,让用户可接受;页面的字体不模糊不消失不重影;页面图片不消失,排版布局合理;页面功能可以正常使用)

可靠性测试

正常使用时间 /(正常运行时间+非正常运行时间)
一般软件,可靠性要求99.99% 一年时间,软件出现故障时间52min
特殊软件,比如军事系统99.999%

容错性测试

系统因为自身或者外部一些异常的操作使得系统发生异常,系统能够自我处理这种错误操作或者异常的能力。

数据级别: 人民币0.09元 ;25时30分 ; 5月30日
校验级别
输入账号6~16位 :最多只能输入16位,输入17位输不进去。
大小写校验、空格的校验、前后信息一致性的校验
查询信息前后空格自动过滤

界面级别
一些复杂的操作或危险的操作,会给用户提示信息

环境级别
断电、断网、硬件设备出现问题,是否可以无缝切换(让用户无感知)到备用服务器。
灾难恢复性测试,人为让系统发生故障,测试系统是否能很快恢复稳定,数据恢复,不丢失用户信息。

文档测试

整个开发过程中产生的各种文档,需求文档,设计文档,功能文档,用户使用手册进行测试。
文档的正确性,一致性,专业术语,完整性;文档和软件功能对比

兼容性测试

平台的兼容性(web网页:各种浏览器、操作系统的兼容性;APP:不同系统ios/Android,不同品牌、不同系统的版本)

软件本身的兼容性:软件对本身功能前后的兼容性,比如开发的新功能不影响老功能,也不影响后续功能的开发

软件对第三方软件的兼容性:不能影响其他软件的使用;如果和第三方软件有交互,数据要有兼容性。

易用性测试

用户使用软件的体验,用户体验测试
在这里插入图片描述

安装和卸载测试

软件可以正常安装和卸载
软件更新
安装软件时断网、断电、死机等异常情况下,软件的响应。
安装软件内存不足是否有提示
卸载软件暂停是否可以继续卸载
卸载软件到一半,取消卸载,看软件是否可以正常使用
卸载过程中异常情况的测试(断电、断网、死机)
卸载后软件的数据文件信息是否清理干净

安全测试

防病毒、防黑客攻击
xss注入、SQL注入
防爬虫

性能测试

内存泄漏
资源瓶颈
系统运行速度越来越慢
系统运行受外界影响越来越大
死锁
查询、加载信息速度很慢

按照是否查看代码

黑盒测试

黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。
黑盒测试不关心软件内部代码实现,不考虑程序的内部逻辑结构,只关心 输入输出是否符合预期
黑盒测试系统的功能,站在用户的角度去使用功能,有利于培养用户的思维。
黑盒测试的测试用例是按照需求设计的,不容易遗漏需求。

黑盒测试设计测试用例的方法有哪些?
等价类、边界值、因果图、错误猜测法、场景法、正交法

白盒测试

白盒测试就是针对代码进行测试,分析和测试代码的逻辑和结构,实现的功能,看是否符合用户需求。
在这里插入图片描述

灰盒测试

介于黑盒和白盒测试之间。灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况

按照开发阶段划分

单元测试

测试的对象是软件设计的最小单位:模块。又称为模块测试(类、方法)

测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试

按照一定的策略把单元模块组合起来形成一个大的功能模块,对这个功能模块进行测试叫做集成测试。集成主要目的是检查软件单位之间的接口是否正确

测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试

当软件开发完成,系统的全面的对软件功能进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。

测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性

回归测试

当系统引入新代码的时候,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,进行回归测试。 版本更新迭代的时候,修复Bug

冒烟测试

正式测试之前,对软件系统的基本流程和核心功能进行测试,如果测试通过,才同意正式测试。

验收测试

软件上线前最后一道测试,由用户或产品经理发起。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买者展示该软件系统满足原始需求。

测试阶段:系统测试通过之后
测试对象:整个系统(包括软硬件)。
测试人员:主要是最终用户或者需求方。
测试依据:用户需求、验收标准
测试方法:黑盒测试
测试内容:同系统测试(功能…各类文档等)

按照实施组织划分

α测试

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试

β测试

Beta测试是一种验收测试。实际用户在实际使用环境下进行测试,不限时间、地点。

α测试与Beta测试的区别:
测试的场所不同Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试
测试环境不同Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。

按照是否运行划分

静态测试

不运行代码,通过分析代码的风格,是否符合公司的标准规范,分析代码的结构、逻辑、算法、方法的实现是否符合用户的需求。只能看代码

动态测试

运行代码,执行测试用例,进行测试。

按照是否手工划分

手工测试

手工执行测试用例,查看测试结果
缺点:量大容易出错,效率比较低
优点:不可替代的,无法被自动化测试替代,手工测试过程人为可控,有利于探索性测试。

自动化测试

机器按照预先设定好的条件执行测试,这些条件包括正常和异常方面。自动化测试脚本

按照地域划分

软件国际化:开发软件的 时候用了一种工程技术,使得软件适用不同的语言、风俗使用习惯的时候不用去改变软件的源码就可以做到。

软件国际化测试
软件本地测试

问题

微信群发红包,100个人以上,发了100块100个人抢完,假设抢完了,收红包数和发红包数是否一致?
接口测试
在这里插入图片描述

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

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

相关文章

数据可视化常用工具推荐

数据可视化是将数据分析的结果以图形、表格等形式展示出来,这样能我们更加清晰、明了的理解分析结果、判断数据走势等,让没有进行过数据分析的人也能清楚的了解数据中所含有的规律、趋势等。下面小编将向大家介绍几种常用的数据可视化工具,分…

计算机毕业设计php+vue基于微信小程序的高校新生报到管理小程序

项目介绍 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理程序应运而生,各行各业相继进入信息管理时代,高校新生报到管理小程序就是信息时代变革中的产物之一。 任何程序都要…

外汇天眼:爆雷跑路!DingHui索要高额佣金,结果客户一分钱没拿到!

我们都知道,外汇交易佣金是外汇平台杠杆进入中国市场时的产物,也可以将其简单的理解为是在自己原本的手续费之外,额外增加的一些交易成本。 不过随着外汇市场的发展,在外汇交易平台进行交易也是越来越正规化,现如今正…

16-luogu-P1012-[NOIP1998 提高组] 拼数

文章目录[NOIP1998 提高组] 拼数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示大神代码分析总结[NOIP1998 提高组] 拼数 题目描述 设有 nnn 个正整数 a1…ana_1 \dots a_na1​…an​,将它们联接成一排,相邻…

shell语法总结二(持续补充)

文章目录一、函数1、函数的定义格式2、案例13、案例2二、函数参数三、输入/输出重定向1、标准输入输出2、输出重定向:2.1、语法如下所示:2.2、案例:输出重定向会覆盖文件内容,请看下面的例子:2.3、如果不希望文件内容被覆盖&#…

不同时期土地政策

土地政策​ 本篇文章主要总结新中国近代以来的土地政策,根据中国共产党的建立的前后时间分为两个部分。建党前主要是太平天国的《天朝田亩制》、孙中山的“旧三民主义”和新三民主义,建党后的大革命时期、土地革命时期、抗日战争、解放战争、新中国成立初…

Java中判断字符串是否为空

文章目录0 写在前面1 字符串.isEmpty2 .equals(字符串)3 字符串.length()>0注意事项0 写在前面 isEmpty(); "".equals(); .lenth()>01 字符串.isEmpty 这个方法是比较常用的, 格式:字符串.isEmpty();结果为true代表字符串为空&#xf…

5个超酷的Python学习工具,不看后悔。

工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。 Python Tutor Python Tut…

已解决json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

已解决raise JSONDecodeError(“Expecting value”, s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 文章目录报错代码报错翻译报错原因解决方法帮忙解决报错代码 粉丝群一个小伙伴想用Python读取json报错,但是…

Anaconda和Python的安装源配置

Anaconda安装: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda换源: 清华anaconda镜像: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://…

计算机系统实验-BufLab

一.实验题目及目的 1.实验题目 程序运行在linux环境中,从输入获得一个字符串,将这个字符串放入指定的buf处,buf的大小为32,需要分析栈帧、buf位置等信息,通过输入字符串使缓冲区溢出,完成指定的函数调用等…

聊聊什么是gRPC

前言 现如今,微服务变得越来越流行,而服务间的通信也变得越来越重要,服务间通信本质是交换信息,而交换信息的中介/桥梁正是我们的API。 诚然,目前构建API最受欢迎的仍然是使用Restful(HTTP-JSON&#xff…

我学Python的那段日子(一)变量和简单数据类型

1.Python中的变量和简单数据类型(一) 1.1关于Python中的输出函数 使用 print()如: print("Hello,Python");在ide中显示的结果为 1.2 Python中的变量 所谓的变量即是可以用来保存数据的一个参数,变量的值是可变的。…

最短木板长度 华为OD真题 100

import java.util.Scanner; import java.util.*; import java.util.stream.Collectors;class Main {public static int min_num;public static void main(String[] args) {// 处理输入Scanner in new Scanner(System.in);int n in.nextInt();int m in.nextInt();in.nextLine…

小蓝本 第一本 《因式分解技巧》 第七章 综合运用 笔记 (第七天)

小蓝本 第一本 《因式分解技巧》 第七章 综合运用 笔记 (第七天)前言换元法好题例2题目解法经验补充例3题目解法经验例5题目解法补充例9题目解法经验补充例10题目解法补充例11题目解法补充例13题目解法习题7题目题解错题题号改错前言 12天攻掉《因式分解…

【笔记】计算机组成原理复习重点——篇1

计算机组成原理复习重点笔记 计算机组成原理计算机体系结构 学科基础必修课 研究生入学考试全国联考45分,占比30% 64学时,4学分,上课56,实验8 教材:计算机组成原理(第二版 ) 唐朔飞 高等教育出版社 目录 第1篇 概论 第…

如何确保RabbitMQ消息的可靠性?

开启生产者确认机制,确保生产者的消息能到达队列 开启持久化功能,确保消息未消费前在队列中不会丢失 开启消费者确认机制为auto,由spring确认消息处理成功后完成ack 开启消费者失败重试机制,并设置MessageRecoverer&#xff0c…

前端框架搭建(二)导入静态资源【vite】

1.根目录下创建styles目录 这里可根据你项目中的样式文件类型创建,因为这里我只有一个css没有scss 2.css目录下创建如下文件 global.css:全局所有的样式入口scrollbar.css:滚动条样式transition.css:动画样式 global.css impo…

Web3中文|盘点进军Web3的国际著名体育联盟

纵观如今的文化娱乐业,体育是最适合利用NFT实现粉丝参与和互动的领域。 NFT可以定格体育迷最喜欢的赛场高光时刻、记录体育迷所支持的球队或球星的美好瞬间,体育迷甚至还可以通过NFT体验交易收藏品的乐趣。 想知道这是怎么回事吗?让我们来粗…

查询 Linux 命令属于哪个软件包

在 Linux 中,有些命令的名称软件包的名称是不一样的,或者一个软件包中包含有多个命令。有时候,我们需要确定某个命令来自于哪个软件包,以便于可以在其他机器上安装,或者寻找该软件包的源代码进行编译或者修改。 下面以…