软件测试基础教程学习3

news2024/12/22 4:53:57

文章目录

  • 软件质量与测试
    • 3.1 软件质量问题的原因
    • 3.2 对软件质量特性的理解
    • 3.3 基于软件质量特性的测试
    • 3.4 软件能力成熟度模型(CMM)

软件质量与测试

3.1 软件质量问题的原因

软件质量问题的原因有以下几种:

  1. 软件本身的特点和目前普遍采用的开发模式使得隐藏在软件产品内部的质量缺陷不可能完全避免。
  2. 技术上解决软件质量问题有局限性。
  3. 软件产品的质量问题时有暴露,有的企业提供错误的用户手册,许多企业开发的程序存在可读性差且产品的用户界面不统一、产品的测试不充分等问题。
  4. 软件开发工具和管理工具的提供与使用不够充分,致使大量的开发工作和管理工作停留在手工劳动阶段,不仅效率低而且通常不能保证质量。
  5. 其他原因,如:项目组交流不够、交流上有误解或者根本不进行交流;程序设计错误或需求有变化;时间压力;代码文档贫乏或者较差的文档使得代码维护和修改变得异常艰辛,其结果是带来许多错误。

3.2 对软件质量特性的理解

软件质量是软件产品满足用户使用要求的程度。对于软件质量的衡量,就是高质量的软件系统能够准时交付给用户,所耗费的成本不超过预算,且能够正常地运行,即该软件必须尽可能地没有BUG。
软件质量好坏程度的基础是软件需求,与需求不符的软件就不是高质量的软件。因此,完成的成本和时间都应控制在计划范围内。另外,软件质量的高低也体现在软件产品的可靠性和可维护性上。
软件质量特性:

(1)功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。

  • 适合性:软件产品为指定的任务和用户目标提供一组合适的功能的能力。
  • 准确性:软件产品提供具有所需精度的正确或相符的结果或效果的能力。
  • 互操作性:软件产品与一个或更多的规定系统进行交互的能力。
  • 安全保密性:软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对它们的访问。
  • 功能的依从性:软件产品遵循与功能性相关的标准、约定或法规以及内似规定的能力。

(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。

  • 成熟性:软件产品为避免由软件中故障而导致失效的能力。
  • 容错性:在软件出现故障或者违反其指定接口的情况下,软件产品维持稳定的性能级别的能力。
  • 易恢复性:在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。
  • 可靠性的依从性:软件产品遵循与可靠性相关的标准、约定或法规的能力。

(3)易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。

  • 易理解性:软件产品使用户能理解软件是否合适以及如何能够将软件用于特定的任务和使用条件的能力。
  • 易学性:软件产品使用户能学习其应用的能力。
  • 易操作性:软件产品使用户能操作和控制它的能力。
  • 吸引性:软件产品吸引用户的能力。
  • 易用性的依从性:软件产品遵循与易用性相关的标准、约定、风格指南或法规的能力。

(4)效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

  • 时间特性:在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力。
  • 资源利用性:在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力。
  • 效率依从性:软件产品遵循与效率相关的标准或约定的能力

(5)维护性:软件产品可被修改的能力。修改可能包括纠正、改进、或软件对环境、需求和功能规格说明变化的适应。

  • 易分析性:软件产品诊断软件中的缺陷或失效原因或识别带修改部分的能力。
  • 易改变性:软件产品使指定的修改可以被实现的能力。
  • 稳定性:软件产品避免由于软件修改而造成意外结果的能力。
  • 易测试性:软件产品时已修改软件能被确认的能力。
  • 维护性的依从性:软件产品遵循与维护性相关的标准或约定的能力。

(6)可移植性:软件产品从一种环境迁移到另外一种环境的能力。

  • 适应性:软件产品无需采用额外的活动或手段就可适应不同指定环境的能力。
  • 易安装性:软件产品在指定环境中被安装的能力。
  • 共存性:软件产品在公共环境中同与其分享公共资源的其他独立软件共存的能力。
  • 易替换性:软件产品在同样环境下,替代另一个相同用途的指定软件产品的能力。
  • 可移植性的依从性:软件产品遵循与可移植性相关的标准或约定的能力。

软件质量特性间的影响关系:

在这里插入图片描述

3.3 基于软件质量特性的测试

  1. 功能性测试
    功能性测试是软件测试工作的最主要部分,一般包括以下几方面:
  • 安装。如果安装能由用户来完成,则按照安装手册中的信息应能成功安装产品描述中指出的每种所要求的系统对于程序的安装应是充分的。安装之后程序能否运行应是可鉴别的。

  • 功能表现。需求规格或用户文档中所提到的所有功能应是可执行的。程序应按照用户文档中的给定形式,在规定的边界值范围内使用相应的设施、性质和数据执行其功能。

  • 正确性。程序和数据应与产品描述及用户文档中的全部说明相对应。

  • 一致性。程序和数据本身不能自相矛盾,并且同产品描述和用户文档不能相互矛盾,每个术语应在各处都具有相同的含义。

  1. 可靠性测试

软件可靠性测试是指运用测试技术和统计技术对被测软件执行测试和评价,并采集系统运行期间的软件失效数据进行处理,最终评估软件可靠性的过程。

软件可靠性测试由可靠性目标的确定,运行剖面的开发,测试的计划与执行,测试结果的分析与反馈四个主要的活动组成。

  1. 易用性测试

易用性是交互适应性,实用性和有效性的综合体现。当软件表现为难以理解不易使用,运行缓慢,或者从测试人员的角度看,最终用户将会指责软件不正确。软件本身达不到精品软件的要求是就说明软件软件的易用性不好。

易用性测试对象主要为用户界面,包括命令行,菜单,窗口,功能键及帮助等。它有七个要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性、实用性。

  • 符合标准和规范。被认为是最重要的用户界面因素对于操作系统平台尤其自己的标准和规范,如微软的Windows系统。那么对于在某个平台上运行的软件,就需要把该平台的标准和规范作为UI设计说明的补充内容。

  • 直观性。当测试用户界面时,测试人员要考虑以下几个问题,以及如何衡量软件的直观程度。

(1)用户界面是否j洁净、不唐突,不拥挤。UI不应为用户制造障碍,所需功能或者期待的响应应该明显,并在其出现的地方。
(2)UI的组织和布局是否合理;是否允许用户轻松的从一个功能转到另一个功能;下一步做什么是否明显;任何时刻是否都可以决定放弃或者退出,退回输入是否得到承认菜单或者窗口是否深藏不露。
(3)是否有多余的功能;软件整体或布局是否太紧凑,是否有太多特性把工作复杂化;是否感到信息太庞杂。
(4)如果其他所有努力均失败,帮助系统是否有用。

  • 一致性。测试的软件本身以及与其他软件的一致性是一个关键属性。由于用户有固定的使用习惯,因此希望能够将一个程序的操作方式带到另一个程序中。

快捷键和菜单选项。快捷键一般具有通用性。
术语和命令。整个软件是否使用同样的术语;特性命令是否一致。
用户级别。软件同一UI风格是否对应同一用户级别;是否有UI风格与用户级别不一致的情况出现。
按钮的位置和等价的按键。例如确定和取消的按钮的相对位置。

  • 灵活性。由于用户对软件做各种操作,所以软件需要有较大的灵活性。
    软件UI是否灵活可以参考以下几点:

状态跳转。
状态终止和跳过。
数据输入和输出。

  • 舒适性。
    测试人员在测试时要根据实际情况对软件是否具有舒适性进行鉴别。

  • 正确性

市场定位偏差。软件有没有多余或者遗漏的功能,或者某些功能是否执行了与市场宣传材料不符的操作。
语言描述和组织。程序员的语言描述和组织往往会使用户产生歧义或不解,或者令用户难以接受。
多媒体缺陷。UI设计的图标,图像,声音和视频设计不合理或不正确。
与UI说明不一致,即没有实现所见即所得。

  • 实用性。主要指具体UI特性是否使用在测试过程中检查每一功能点的UI是否具有实用价值,是否有助于用户执行软件相应的功能,如果不能,则被认为使用性不好或者有使用方面的缺陷。
  1. 兼容性测试

兼容性测试主要是测试被测软件是否能够与其他软件正确的协同操作。

软件兼容性的测试目的就是通过检查软件之间能否正确的交互和共享信息,并找出软件不能正常交互执行的缺陷。最终验证用户期望的需求能够正确实现。

软件兼容性测试要考虑以下几个问题:

  • 被测软件要求与何种其他系统平台支撑软件和应用软件保持兼容?如果软件本身要作为其他软件的平台,那么需要在平台上运行什么类型的程序?
  • 应该遵循何种软件之间交互的标准或规范?
  • 软件使用何种数据与其他平台和软件交互和共享信息?

兼容性涉及向后兼容和向前兼容,向后兼容是指可以使用版本的以前版本,向前兼容是指可以使用软件的未来版本。

3.4 软件能力成熟度模型(CMM)

CMM软件成熟度等级:
在这里插入图片描述

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

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

相关文章

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(五):芯片型号

前言 随着汽车四化的推进,可以说汽车仪表也变成越来越智能化的一个ECU部件了。市面上的车型很多,油车发展了很多年,都有仪表,电车也发展起来了,车型也非常丰富,也都有仪表。仪表现在是作为多屏中一个屏存在的,现在车上最多的就是屏了,最大的要算中控屏了,有的还有空调…

【基础】MQTT -- MQTT 协议详解

【基础】MQTT -- MQTT协议详解 与 Broker 建立连接CONNECT 数据包CONNACK 数据包 断开连接DISCONNECT 数据包 订阅与发布PUBLISH 数据包SUBSCRIBE 数据包SUBACK 数据包UNSUBSCRIBE 数据包UNSUBACK 数据包 本文内容针对 MQTT 3.1.1 版本,从连接、发布与订阅等方面对协…

OpenCV做个熊猫表情

有的时候很想把一些有意思的图中的人脸做成熊猫表情,但是由于不太会ps,只能无奈放弃,so sad... 正好最近想了解下opencv的使用,那就先试试做个简单的熊猫表情生成器把~~ 思路就是,工具给两个参数,一个是人…

最小系统板STM32F103C8T6烧录程序指南

STM32F103C8T6烧录程序 【购买链接】:STM32F103C8T6最小系统板 方法一:使用SWD模式烧录 此时BOOT0 0,BOOT1 X(任意),跳线帽接法如下图所示 接好后,若手边有STLINK的话,可以使用…

DAY25:二叉树(十五)修剪二叉搜索树+有序数组转换为二叉搜索树+二叉搜索树转化为累加树

文章目录 669.修剪二叉搜索树思路错误代码示例最开始的写法debug测试逻辑错误:需要两次递归的原因内存操作报错:操作了已经被删除的内存的指针(力扣平台delete操作的问题,放IDE里就好了)打日志debug示例 力扣平台delet…

高并发之限流-RateLimiter

背景 限流是保护高并发系统的三把利器之一,另外两个是缓存和降级。限流在很多场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和下游系统不被巨型流量冲垮等。 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进…

华为OD机试之 ABR 车路协同场景(Java源码)

ABR 车路协同场景 题目描述 数轴有两个点的序列 A{A1, A2, …, Am}和 B{B1, B2, ..., Bn}, Ai 和 Bj 均为正整数, A、 B 已经从小到大排好序, A、 B 均肯定不为空, 给定一个距离 R(正整数)&a…

一文详解!Selenium浏览器自动化测试框架

目录 前言: selenium简介 介绍 功能 优势 基本使用 获取单节点 获取多节点 节点交互 动作链 执行JavaScript代码 获取节点信息 切换frame 延时等待 前进和后退 cookies 选项卡管理 异常处理 选项卡切换 无头浏览器 前言: Selenium是…

双功能螯合剂:NOTA-C6-amine,NOTA-C6-氨基,含有大环配体NOTA和氨基

文章关键词:双功能螯合剂,大环化合物 【产品描述】 西安凯新生物科技有限公司供应的​NOTA-C6-amine中含有大环配体NOTA和氨基,其中氨基与羧酸、活化的 NHS 酯、羰基(酮、醛)等反应。NOTA及其衍生物是新型双功能整合剂…

【Android】移动端设备介绍(工业手持机)

系列文章 【Android】移动端设备介绍(工业手持机) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【Android】开发”打地鼠“小游戏 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129…

华为OD机试之检查是否存在满足条件的数字组合(Java源码)

检查是否存在满足条件的数字组合 题目描述 给定一个正整数数组,检查数组中是否存在满足规则的数字组合 规则:A B 2C 输入描述 第一行输出数组的元素个数。 接下来一行输出所有数组元素,用空格隔开。 输出描述 如果存在满足要求的数…

C++入门前必看,超详细

目录 前言 一.C的关键字 二.命名空间 2.1命名空间定义 2.2命名空间的使用 三.C的输入及输出 四.缺省参数 4.1概念 4.2缺省参数分类 4.3缺省参数的注意点 五.引用 5.1 概念 5.2引用的特性 六.内联函数 6.1概念 6.2内联函数的特性 七.auto 7.1auto概念 7.2auto的…

【JAVA集合篇】ArrayList源码详解

文章目录 前言继承体系源码解析属性ArrayList(int initialCapacity)构造方法 ArrayList()构造方法ArrayList 构造方法add(E e)方法add(int index, E element)方法addAll 方法get(int index)方法remove(int index)方法remove(Object o)方法retainAll方法removeAll 总结 前言 Ar…

【Java高级语法】(四)包装类:关于包装类的那些细节你都清楚吗?~

Java高级语法详解之包装类 :one: 概念:two: 设计目的(作用)和用途:three: 使用3.1 自动装箱与拆箱3.2 常用方法3.3 常用属性3.4 null和默认值 :four: 注意事项:ear_of_rice: 总结:bookmark_tabs: 本文源码下载地址 1️⃣ 概念 在Java编程中,…

什么是TM的kotlin协程?就是靠 恢复和挂起,像同步一样写异步代码

作者:J船长 一、协程协程,恢复挂起,让异步像同步 重要的说三遍 协程协程,恢复挂起,让异步像同步协程协程,恢复挂起,让异步像同步协程协程,恢复挂起,让异步像同步 经常…

Apikit 自学日记:导入第三方产品 API 数据

除了手动创建API文档,系统也提供了一键导入 Swagger、Postman、RAP、YAPI 等产品数据的功能。方便从其他平台进行迁移。 产品支持度导入文件的后缀名Eolinker API 研发管理完全支持.jsonPostman V2.1支持导入API基础信息,超过10级分组的API数据将不会被导…

接口测试——接口测试文档

在执行接口测试前,测试人员肯定会先拿到开发给予的接口文档。测试人员可以根据这个文 档编写接口测试用例。所以,我们要先了解接口文档的主要构成及含义。 以购买开心产品项目接口文档为例,解析一下接口文档的组成。 完整的接口文档有公共信…

【VMD-DBO-LSTM】变分模态分解-蜣螂优化算法-长短时记忆神经网络研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

乐鑫 Thread 边界路由器解决方案

乐鑫科技 Thread 边界路由器 (Thread Border Router) 解决方案正式获得了由 Thread Group 颁发的 Thread Certified Component 证书,符合最新的 Thread 1.3 标准,并支持 Matter 应用场景。 本文将深入探讨该解决方案的技术细节和优势,以及如…

springboot+vue在线考试系统(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&a…