补档 -- 测试的分类(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.hqwc.cn/news/637213.html

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

相关文章

C语言-字符函数与字符串函数

在C语言中,我们经常要对字符或是字符串进行各种操作。那C语言究竟给了我们哪些方法呢,本篇文章就是让大家了解对字符和字符串处理相关的知识。 目录 1.字符函数 1.1字符分类函数 1.2字符转换函数 2.字符串函数 2.1strlen函数的使用和模拟实现 2.2…

数电期末复习(二)逻辑代数基础

这里写目录标题 2.1 二值逻辑变量与基本逻辑运算2.1.1 与运算2.1.2 或运算2.1.3 非运算2.1.4 常用复合逻辑运算 2.2 逻辑函数的建立及其表示方法2.2.1 真值表表示2.2.2 逻辑函数表达式表示2.2.3 逻辑图表示方法2.2.4 波形图表示方法 2.3 逻辑代数2.3.1 逻辑代数的基本定律和恒等…

磁盘的管理

会在linux中使用硬盘 分区 格式化(重新安装文件系统) 挂载 硬盘的分类 1.机械硬盘 2.固态硬盘 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的 数据 (扇区越多容量越大) 存放数据的…

开启智慧之旅,AI与机器学习驱动的微服务设计模式探索

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章🔥:探索设计模式的魅力:开启智慧…

排序 “贰” 之选择排序

目录 ​编辑 1. 选择排序基本思想 2. 直接选择排序 2.1 实现步骤 2.2 代码示例 2.3 直接选择排序的特性总结 3. 堆排序 3.1 实现步骤 3.2 代码示例 3.3 堆排序的特性总结 1. 选择排序基本思想 每一次从待排序的数据元素中选出最小(或最大)的一个…

前后端交互概念

前后端交互概念 1前后端分离开发概念2搭建后端环境2.1配置文件commomcommon-utilservice-utilmodelservice gitee使用 1前后端分离开发概念 前段:运用html、css、js和现成库,对数据作展示。 后端:运用Java和Java框架,提供数据或操…

Redis 逻辑过期策略设计思路

引言: 当我们平常使用Redis缓存的时候,会出现一种场景, redis的key到过期时间了,总是需要到数据库里面去查一遍数据再set回redis,这个时候如果数据库响应比较慢,那么就会造成用户等待,如果刚好…

vue-Router 路由(常量路由)

1、安装 pnpm i vue-router 2、新建文件:src/routes.ts import { RouteRecordRaw } from vue-routerexport const constantRoute: RouteRecordRaw[] [{//path: /,redirect: /login,},{//path: /login,component: () > import(/views/Login/index.vue),name…

Jenkins构建实用场景指南

1 总体说明 本文主要介绍在研发实战时,通过Jenkins解决企业级软件构建打包一些实用场景。通常是在打包构建前,通过命令和工具进行预处理,避免修改源码,可按需配置构建任务,自动持续集成。 2 Jenkins简介 2.1 复制任务 研发实战创建构建任务,推荐从已有的构建任务进行…

解释一下“暂存区”的概念,在Git中它扮演什么角色?

文章目录 暂存区在Git中的概念与作用什么是暂存区(Staging Area)暂存区的位置和结构 暂存区在Git工作流程中的角色1. 分离工作区与版本库的交互示例代码与操作步骤示例1:将工作区的修改添加至暂存区 2. 控制提交内容的粒度示例2:分…

llama2 与 llama3比较

Llama 3 刚刚在4月18号推出,距 Llama 2 发布正好 9 个月。它已经可以在 Meta 网站上进行聊天,可以从 Huggingface 以 safetensors 或 GGUF 格式下载。 llama 2 与 llama3 比较 1. 模型输出(model output) llama 2 输出只能是文本…

MySQL下载与安装

文章目录 1:MySQL下载与安装2:配置环境变量3:验证是否安装成功 1:MySQL下载与安装 打开MySQL官网,MySQL 下载链接选择合适的版本和操作系统,页面跳转之后选择No thanks, just start my download.等待下载即…