补档 -- 测试的分类(1)

最近有很多人私信我说: 灰灰你什么时候写测试分类阿, 本来我要开始肝性能测试的, 我一看, 奥, 之前摸鱼忘写了, 所以这里补档(叶问指着一边笑.jpg).

总览

 标红的需要注意一下.

为什么要对软件测试进行分类?

软件测试是软件生命周期的一个重要环节, 具有较高的复杂性, 对于软件测试, 可以从不同角度加以分类, 使开发者在软件开发过程中的不同层次, 不同阶段对测试工作更好地执行和管理测试的分类方法.

按照测试目标分类

界面测试

软件只是一种工具, 软件与人的信息交流是通过界面来进行的. 界面是软件和用户交流的最直接的一层, 界面的设计决定了用户对我们设计软件的第一印象; 界面如同人的面孔, 具有吸引用户的直接优势, 设计合理的界面能给用户带来轻松愉悦的感受, 不合理的界面会给用户带来氢悚郁刖的感受.

如果不按照设计图进行界面测试, 可能出现这种情况(画的真丑).

 界面测试(简称UI测试), 是按照界面的需求(一般是UI设计稿)和界面的设计规则, 对我们软件界面所展示的全部内容进行测试和检查:

验证界面内容显示的完整性, 一致性, 准确性, 友好性.比如界面内容对应屏幕大小自适应, 换行, 内容是否全部清晰展示, 文字是否出现重叠, 错别字的问题.

验证整个页面布局和排版是否合理, 不同板块字体的设计, 图片的展示是否符合要求;

对界面不同控件的测试, 比如:文本框, 滚动条, 选项按钮等是否可以正常使用, 有效.

无效的状态是否设计合理;

界面的布局和色调符合当下时事发展.(比如之前国内汶川地震, 然后每个电视台显示的都是灰色这种).

显然下面的设计比较呃呃, 离谱(搞笑是挺搞笑的):

 

功能测试

功能就是指它本来是干什么的(eg:水杯->装水),功能测试是对产品的各功能进行验证, 根据功能设计测试用例, 逐项测试, 检查产品是否达到用户要求的功能.

根据产品的特性, 操作描述和用户方案, 测试一个产品的特性和可操作行为以确定它们满足设计需求. 本地化软件的功能测试, 用于验证应用程序或网站能正确工作.  使用适当的平台, 浏览器和测试脚本. 以保证目标用户的体验足够好, 就像应用程序是专门为该市场开发的一样. 功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试, 通过对一个系统的所有的特性和功能都进行测试确保符合需求, 规范.

如何进行功能测试?

设计功能测试用例, 参考产品规格说明书进行用例的编写, 具体的测试用例需要使用黑盒测试用例的方法, 比如等价类, 边界值, 判定表, 正交法, 场景法, 错误猜测法.

性能测试

 我们在使用软件的时候有时会碰到软件网页打开时越来越慢, 查询数据很长时间才显示列表, 软件运行越来越慢等问题,  这些问题都是系统的性能问题引起的.

要进行软件产品的性能问题, 要对产品的性能需求进行分析, 然后基于系统的性能需求和系统架构, 完成性能测试的设计和执行, 最后要进行持续的性能调优.

可靠性测试

可靠性, 即可用性, 是指系统正常运行的能力或者程度, 一般用正常想用户提供软件服务的总时间站总时间的百分比表示.

可靠性=正常运行时间/(正常运行时间+非正常运行时间)*100% 

系统非正常运行的时间可能是由硬件, 软件, 网络故障或者其它因素(如断电)造成的, 这些因素能让系统停止工作, 或者连接中断不能被访问, 或者性能急剧降低导致不能使用软件现有的服务等

可用性指标一般要求达到4个9或5个9, 即99.99%, 99.999%.

如果可用性达到99.99%, 对于一个全年不间断(7*24的方式)运行的系统, 意味着全年(252600min)不能正常工作的时间只有52min, 不到一个小时.

如果可用性达到99.999%, 意味着全年不能正常工作的时间只有5min.

不同的应用系统, 可用性要求是不一样的, 非实时性的信息系统或一般网站要求都很低, 99%和99.5%即可, 但是比如军事系统, 要求很高. 

安全性测试

安全性测试是指信息安全, 是指计算机系统或网络保护用户数据隐私, 完整, 保证数据正常传输和抵御黑客, 病毒攻击的能力.

安全性测试属于非功能性测试的很重要的一个方面, 系统常见的漏洞和威胁如下:

输入域, 如输入恶性或者带有病毒的脚本或长字符串;

代码的安全性问题, 如SQL/XML注入;

不安全的数据存储或者传递;

数据文件, 邮件文件, 系统配置文件等里面有危害系统的信息或者数据;

有问题的访问控制, 权限分配;

假冒ID:身份欺骗;

篡改, 对数据的而已修改, 破坏数据的完整性

 安全性测试的方法有代码评审, 渗透测试, 安全运维等, 常用的静态安全测试工具有Coverity, IBM Appscan Source... 常用的动态安全测试有OWASP的ZAP等. 其中静态安全测试是常用的安全性测试方法.

易用性测试

许多产品都应用人体工程学的研究成果, 使产品在使用起来更加灵活和舒适. 软件产品也始终关注用户体验, 让用户获得舒适, 易用的体验, 针对软件这方面的测试称之为易用性测试.

易用性包含七个要素:符合标准和规范, 直观性, 一致性, 灵活性, 舒适性, 正确性和实用性.

1.标准性和规范性

对于现有的软件运行平台, 通常其UI标准已经不知不觉地被确立了, 称为大家的共识. 多数用户已经习惯并且接受了这些标准和规范, 或者说已经认同了这些信息所代表的含义. 比如安装软件的界面外观, 在什么场合使用恰当的对话框等.

之前的1.30防火栓事件就使这两方面不合格, 导致了悲剧发生, 令人愤慨!

2.直观性

用户界面的直观性, 要求软件功能特性易懂, 清晰. 用户界面布局合理, 对操作的响应在用户的预期之中. 比如数据统计结果采用报表的形式(条形图, 扇形图等) 展示清晰直观; 现在主流的很多搜索引擎和日历的设计也有直观性的特点.

3.灵活性

软件可以有不同的选项以满足不同使用习惯的用户来完成相同的功能. 但是灵活性的设计要把握好角度, 不然可能由于太多的用户状态和方式选择, 增加了软件设计的复杂性和程序实现难度.比如手机键盘的九宫格/26键/手写.

4.舒适性

舒适性主要强调界面友好美观, 操作过程流畅, 色彩运用恰当, 按钮的立体感等. 

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

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

相关文章

排序 “叁” 之交换排序

目录 1. 基本思想 2.冒泡排序 2.1 基本思想 2.2 代码示例 2.3 冒泡排序的特性总结 3.快速排序 3.1 基本思想 🌵hoare版本 🌵挖坑法 ​编辑 🌵前后指针版本 ​编辑 3.2 快速排序优化 🌻三数取中法选key 3.4 快速排序…

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

Umi.js:登录之后需要手动刷新权限菜单才能渲染

在使用Umi.js开发后台管理页面时,用户登录之后,总是需要手动刷新一次页面,才能够拿到全局状态/权限信息。 问题描述 结合使用umi/plugin-layout和umi/plugin-access,登录进入页面,配置的权限菜单未渲染,需…

javaWeb项目-大药房管理系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、Java语言简介 Ja…

【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录

【已解决】win10系统 Docker 提示Docker Engine stopped解决全过程记录 一、检查服务是否开启 找到 【Docker Desktop Service】,然后,启动他; 你也可以直接设置为“自动” 找到服务,右键》属性》启动类型:自动》点击…

三. TensorRT基础入门-TensorRT简介

目录 前言0. 简述1. 什么是TensorRT2. TensorRT的工作流介绍3. TensorRT的一些限制总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第三章—TensorRT 基础入门&#xf…

三、Flask模型基础

ORM 创建模型 # exts.py:插件管理 # 扩展的第三方插件 # 1.导入第三方插件 from flask_sqlalchemy import SQLAlchemy # ORM插件 from flask_migrate import Migrate # 2. 初始化 db = SQLAlchemy() # ORM migrate = Migrate() # 数据迁移 # 3. 和app对象绑定 def init_ex…

kafka实验部署

一、前期准备 二、kafka实验 在zookeeper后继续进行操作 2.1 为ndoe1、node2、node3作出部署 2.1.1 解压kafka压缩包(node1举例) 2.1.2 操作 将解压后的kafka移动到kafka,进入到kafka下的config中,复制文件 2.1.2.1 编辑server.pr…

【笔试训练】day7

1.在字符串中找出连续最长的数字串 思路&#xff1a; 简单双指针&#xff0c;随便怎么暴力 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include<string> using namespace std;int main() {string str;cin >> str;int ans …

聚道云软件连接器助力医疗器械有限公司打通金蝶云星辰与飞书

摘要 聚道云软件连接器成功将金蝶云星辰与飞书实现无缝对接&#xff0c;为某医疗器械有限公司解决采购订单、付款单同步、审批结果回传、报错推送等难题&#xff0c;实现数字化转型升级。 客户介绍 某医疗器械有限公司是一家集研发、生产、销售为一体的综合性医疗器械企业。…

【linux运维】系统常见管理命令

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了学习基本的shell编程和linux命令&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于b站大学——linux运维课程进行的&#xff0c;…

安装多个MySQL版本时如何连接到不同的数据库

当安装多个版本的数据库时&#xff0c;不同版本的端口名不一样&#xff0c;可以使用以下命令进行连接 mysql -uroot -p数据库密码 -h主机名 -P端口号 数据库主机名默认是localhost&#xff0c;端口号默认是3306&#xff0c;当安装多个版本数据库时&#xff0c;需要记住数据库的…

【多线程】CAS的应用 | CAS的概念 | 实现原子类 | 实现自旋锁

文章目录 一、CAS1.什么是CAS2.实现原子类3.实现自旋锁 一、CAS 1.什么是CAS Compare and swap 比较并交换。 比较交换的是 内存 和 寄存器 比如此时有一个内存 : M。 还有两个寄存器A,B ​ CAS ( M , A , B ) :如果M和A的值相同的话&#xff0c;就把M和B的值进行交换(交换的…

排序之插入排序:从斗地主到插入排序

目录 1.斗地主如何摸牌 2.从摸牌想到插入排序 3.完成插入排序 4.结束语 1.斗地主如何摸牌 不知道各位是否玩过几乎人人都玩过的斗地主游戏呢&#xff1f;相必各位或多或少都玩过一点&#xff0c;再没玩过也看别人打过。今天博主就将从这个游戏为大家讲解我们的插入排序。 在…

React vs Vue.js:两种流行框架背后的设计哲学差异

Vue.js 和 React 虽然都是流行的前端框架,但在设计哲学上有一些显著差异。这些差异源自它们不同的设计目标和出发点。 vue.js Vue.js 的核心设计原则是"渐进式"。它旨在尽可能降低学习成本和入门门槛,并与其他库和项目保持良好的整合性。Vue 的设计注重简单性和直观…

C语言堆区内存管理

一、C语言编译的内存分配 二、堆区空间的分配 1、malloc函数 功能&#xff1a;从堆区分配内存 #include <stdlib.h> void *malloc(unsigned int size)//size 分配内存的字节数2、free函数 功能&#xff1a;释放内存 #include <stdlib.h> void free(void *ptr)…

数据恢复宝典:应对磁盘损坏无法读取的终极攻略

当电脑屏幕上突然弹出“磁盘损坏无法读取”的提示时&#xff0c;许多人的心情都会瞬间跌入谷底。那些存储在磁盘中的重要文件、珍贵的回忆&#xff0c;似乎在一瞬间都化为乌有。面对这样的困境&#xff0c;我们该如何应对&#xff1f;本文将深入探讨磁盘损坏无法读取的原因&…

常见的经典目标检测算法

目标检测是计算机视觉领域的一个核心任务&#xff0c;它涉及到识别图像中的物体并确定它们的位置。以下是一些常见的经典目标检测算法&#xff1a; R-CNN系列 R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09;是一种用于目标检测的算法&#xff0c;它…

深度学习500问——Chapter08:目标检测(2)

文章目录 8.2.4 R-FCN 8.2.5 FPN 8.2.6 Mask R-CNN 8.2.4 R-FCN R-FCN 有哪些创新点 R-FCN仍然属于two-stage目标检测算法&#xff1a;RPN R-FCN Fully convolutional位置敏感得分图&#xff08;position-sentive score maps&#xff09; our region-based detector is ful…

OpenVINO安装教程 npm版

从 npm Registry安装 OpenVINO™ 工具套件的英特尔发行版 请注意&#xff1a; 仅提供 JavaScript API 专用于所有主要操作系统的用户&#xff1a;Windows、Linux 和 macOS &#xff08;所有 x86_64 / ARM64 架构&#xff09; macOS 仅支持 CPU 推理 系统要求软件要求 Window…