【软件测试学习】—软件质量需求(四)

简介: 【软件测试学习】—软件质量需求(四)

1 软件质量需求的分类

  • 软件质量需求用于确定测试目标。
  • 测试目标包括:功能、性能、界面、易用性、兼容性、安全性、可用性/可靠性、可维 护性、可扩展性等。
  • 功能以外统称非功能

2 功能

 软件能做什么?

 需要做什么?

 怎么做是正确的?

 哪些功能要测试、哪些功能不需要测试?

 哪些功能重要,哪些不重要?

 哪些功能先实现或先测试?

3 性能

 反映软件运行时的效率和占用资源情况的能力。

 时间特性:时间短、速度快、效率高。

 资源特性:占用资源(CPU、内存、硬盘、网络)少。

4 界面(UI)

布局合理;

控件位置恰当;

文字没有乱码、字体大小合适;

颜色使用恰当;

5 易用性

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

6 兼容性/可移植性

  • 指软件产品从一种环境迁移到另一个环境的能力,反映一个软件与不同的硬件环境、操作平台、其他软件的共同使用的能力。
  • 包括与不同硬件、平台、软件自身不同版本、其他软件、数据的兼容

7 安全性

 指软件产品保护信息和数据的能力

8 可用性/可靠性

 指系统正常运行的能力或程度,可用性=正常运行时间/(正常运行时间+非正常运行时间)×100%。

 可用性指标一般要求达到 4 个 9 即 99.99%(全年 52 分钟不正常工作)或 5 个 9 即99.999%(全年 5 分钟),对一些军事系统,可用性高达 7 个 9(99.99999%(全年失效时间不超过两秒)。

 一般测试时间不足,可以采用空间换时间的办法,如在高负载情况下进行为期一周或一个月的测试,以判断其可靠性。

 关注 MTTF(平均无故障时间)、MTTR(平均恢复时间)、MTBF(平均失效间隔时间)

9 可维护性

 指软件产品可被修改的能力。

 修改可能包括修正、改进或软件对环境需求和功能规格说明变化的适应。

 可维护性的软件应该是易改变的、稳定的、易测试的。

10 可扩展性/可伸缩性测试

 通过很少的改动就能实现整个系统处理能力的增长。

 如在部署两台服务器时测试系统性能(容量,即最大负载),再部署四台、八台服务器时分别进行系统容量的测试,看其容量是否为上次(两台、四台)实验值的两倍或接近两倍。如果是,系统就具有良好的可伸缩性。

三、 研读需求文档

1 测试需求分析的过程

 收集与研读文档,提出并解决问题,整理需求信息

 功能拆分、功能描述/需求整理

 编写测试点

 需求评审

2 研读需求文档

2.1 研读文档主要任务

 提取有用的需求信

提出需求中不清晰、不理解、不明白的问题

 和用户、业务人员、产品经理或产品设计人员、开发人员等沟通

2.2 怎么研读文档

分析思路

 分析软件的用户群,分析用户的实际需要;

 分析软件的开发环境、开发语言、数据类型;

 分析软件架构、软件的运行环境和平台、数据库类型;

 分析软件要实现哪些目标(功能、性能、界面、易用性、兼容性、安全性)以及具体的要求是什么;

 分析软件有哪些功能,每种功能要完成什么业务,这些业务应该怎么实现,业务逻辑是什么,业务流程是怎样的,业务规则有何要求;

 分析功能或业务间的联系,哪些业务更关键或重要;

 明确测试周期,测试目标,测试范围。

 实施

 以情景再现的形式写出需求信息。

2.3 研读需求文档案例

 拿到一个项目,怎么入手?

 即时贴程序部分需求说明

 便签的数量最多为 50 个

 便签标题字数最多为 40 个字节

 便签的正文文字数量最多为 200 个

 年份只能设置在 1900-2100 之


相关文章
|
6天前
|
测试技术 开发者 Python
自动化测试之美:从零构建你的软件质量防线
【10月更文挑战第34天】在数字化时代的浪潮中,软件成为我们生活和工作不可或缺的一部分。然而,随着软件复杂性的增加,如何保证其质量和稳定性成为开发者面临的一大挑战。自动化测试,作为现代软件开发过程中的关键实践,不仅提高了测试效率,还确保了软件产品的质量。本文将深入浅出地介绍自动化测试的概念、重要性以及实施步骤,带领读者从零基础开始,一步步构建起属于自己的软件质量防线。通过具体实例,我们将探索如何有效地设计和执行自动化测试脚本,最终实现软件开发流程的优化和产品质量的提升。无论你是软件开发新手,还是希望提高项目质量的资深开发者,这篇文章都将为你提供宝贵的指导和启示。
|
1天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【10月更文挑战第35天】在软件开发的海洋中,自动化测试犹如一艘救生艇,它帮助团队确保产品质量,同时减少人为错误。本文将探索如何通过集成人工智能(AI)技术,使自动化测试更加智能化,从而提升软件测试的效率和准确性。我们将从AI在测试用例生成、测试执行和结果分析中的应用出发,深入讨论AI如何重塑软件测试领域,并配以实际代码示例来说明这些概念。
30 3
|
1月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
40 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
1月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
43 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
14天前
|
前端开发 JavaScript 安全
学习如何为 React 组件编写测试:
学习如何为 React 组件编写测试:
32 2
|
15天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
20天前
|
敏捷开发 监控 jenkins
自动化测试之美:打造高效的软件质量保障体系
【10月更文挑战第20天】在软件开发的海洋中,自动化测试如同一艘精准的导航船,引领项目避开错误的礁石,驶向质量的彼岸。本文将扬帆起航,探索如何构建和实施一个高效的自动化测试体系,确保软件产品的稳定性和可靠性。我们将从测试策略的制定、工具的选择、脚本的编写,到持续集成的实施,一步步描绘出自动化测试的蓝图,让读者能够掌握这一技术的关键要素,并在自己的项目中加以应用。
27 5
|
20天前
|
Java 测试技术 持续交付
探索自动化测试的奥秘:提升软件质量的关键
【10月更文挑战第20天】 在当今快速发展的软件行业中,自动化测试已成为确保产品质量和加速开发周期的重要工具。本文将深入探讨自动化测试的核心概念、实施策略及其对软件开发生命周期的影响,旨在为读者提供一种全面理解自动化测试的视角,并展示如何有效地将其应用于实际项目中以提高软件质量和效率。
17 2
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
53 1