unit1_软件质量保证基础知识

2024-02-07 00:32

本文主要是介绍unit1_软件质量保证基础知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件缺陷
  • 错误
    人们在开发软件过程中发生的过错
    -客户可能未完全描述清楚他的意图
    -分析人员未完全理解客户的需求、编写出不完善的需求文档
    -设计人员未完全弄清楚需求文档描述的问题
    -实现人员受限于自身能力及工作状态编写出不完善的程序
    软件错误是一种人为的过程,对于软件本身来讲是一种外部行为

  • 缺陷
    错误在程序中的表现
    存在于软件(文档、数据及程序)之中的那些不希望或不可接受的偏差
    当缺陷被激活时,会发生软件故障
    缺陷是造成软件故障甚至失效的内在原因
    常用bug代指缺陷

  • 故障
    软件运行过程中出现的不希望/不可接受的内部状态
    软件丧失了在规定的限度内执行所需功能的能力
    故障是动态的,可能会导致失效
    故障是软件缺陷的内在表现

  • 失效
    软件运行时产生的不希望/不可接受的外部行为结果
    系统行为对用户预期的偏离
    失效是软件缺陷的外在表现,只有运行中的软件才可能发生失效

软件缺陷类型

  • 软件未实现需求规格说明书要求的功能
  • 软件出现了需求规格说明书指明不应该出现的错误
  • 软件实现了需求规格说明书中未提到的功能
  • 软件未实现需求规格说明书虽未明确提及但应该实现的功能
  • 软件难以理解、不易使用、运行缓慢等,即:用户体验不佳

缺陷原因

导致软件缺陷的最大原因是需求规格说明书

  • 需求分析员不懂用户业务,对用户需求在理解上发生偏差
  • 编写的需求规格说明书不够完整,甚至没有编写需求文档
  • 用户需求发生了变化,但规格说明书没有同步更新
  • 需求规格说明书主要采用自然语言描述,往往带来一定的歧义
  • 编写的需求规格说明书没有及时让用户确认

团队协作问题

  • 不同阶段的团队成员相互理解不一致
  • 相互职责划分不够清晰,存在扯皮推诿情况
  • 沟通不够充分,对接口的理解不一致,造成单元无法集成
  • 公司或团队文化,对软件质量不够重视

未考虑复杂应用场景

  • 未考虑大量用户同时使用软件系统的情况
  • 未考虑海量数据使用场合
  • 对于边界条件缺乏考虑
  • 只考虑正常情况,对于异常情况未充分考虑
  • 对于一些实时性系统,未进行整体考虑和精心设计,未注意时间同步要求

技术方面问题

  • 开发人员的技术具有局限性
  • 新技术不成熟或对新技术不够熟练,使得软件存在缺陷
  • 用户的要求在现有技术水平下不可能实现
  • 软件逻辑过于复杂,在问题分解时划分的不够合理

软件工程优秀实践

  • 迭代式开发
    瀑布模型:需求分析-设计-编码及单元测试-集成-系统测试
    不足:延迟发现关键风险方案是否合理,通过评估工作量来度量项目进展,难以预测软件完成时间-太晚进行集成和测试工作-不能较早的进行部署-经常导致项目延期

  • 管理需求

  • 使用组件架构

  • 可视化建模

  • 持续验证质量

  • 管理变更

软件缺陷分类方法

  • 以缺陷产生的开发阶段来划分
  • 以缺陷的修复成本来划分
  • 以缺陷产生的后果来划分
  • 以解决缺陷的难度来划分
  • 以若不解决带来的风险来划分
  • 以缺陷出现频次来划分

典型的软件缺陷

  • 输入/输出缺陷
  • 逻辑缺陷
  • 计算缺陷
  • 接口缺陷
  • 数据缺陷
软件质量

软件质量模型

McCall模型:产品操作质量因子(正确性、可靠性、有效性、完整性、易用性)产品修复因子(可维护性、易测性、适应性)产品转变(可移植性、可重用性、可操作性)

ISO/IEC 9126模型:功能性、可靠性、易用性、有效性、可维护性、可移植性

比较:两者有很多相似性(McCall模型中质量因子与ISO/IEC 9126模型中的质量特性相对应;都包含可靠性、易用性、有效性等。)二者有很大不同(McCall模型关注内部质量,ISO/IEC 9126模型强调对用户可见的属性;McCall模型有11个质量因子,而ISO/IEC 9136模型只有6个质量特性;McCall模型中,质量因子和质量标准之间是多对多关系,而ISO/IEC 9126模型中质量因子与子特性之间是一对多关系;McCall模型中的一个高层质量因子如易测性在ISO/IEC 9126模型中是属于可维护性的一个低层质量子特性)

注意:没有一种标准的质量模型可以应用于各类软件项目。

软件质量保证:是确保软件产品自诞生起到消亡止的全生命周期的质量活动,即确定、达到和维护所需要的软件质量而进行的所有有计划的系统性管理活动。

目标

  • 保证软件开发及其维护符合功能与技术需求;
  • 保证软件开发及其维护符合管理需求;
  • 为实现前两个目标,组织一些活动来改进软件开发效率和维护效率。

软件质量保证活动

  • 项目前质量活动
  • 软件生命周期中的质量活动
  • 基础设施方面
  • 管理方面的质量活动
  • 软件质量标准
  • SQA自身的考虑

软件测试模型:对测试流程和方法进行定义。

  • V模型
    单元测试与详细设计对应
    集成测试对应于概要设计
    系统测试对应于需求分析
    验收测试由用户主导
  • W模型
    优点:强调测试应伴随整个软件开发周期;测试的对象也不仅仅是程序,还包括需求、设计及相关文档。
    缺点:仍将开发活动分解为需求分析、设计、编码等串行活动;测试与开发之间也是一种线性的先后关系;不支持迭代开发。
  • X模型
  • H模型

软件测试分类

  • 是否运行软件:静态测试,动态测试
  • 按测试方法:黑盒测试、白盒测试、灰盒测试
    黑盒测试也称为行为测试、功能性测试或基于需求的测试,白盒测试也叫玻璃盒测试、透明盒测试或结构性测试。
  • 测试执行者:人工测试,自动化测试
  • 基于需求的分类:功能性测试,非功能性测试
  • 基于测试对象:桌面应用程序测试,嵌入式软件测试,web程序测试、移动APP测试,其他测试

软件测试原则

  • 尽早且持续测试
  • 全面测试
  • 测试用例要完整
  • 避免测试自己的程序
  • Pareto原则
  • 确定软件行为
  • 穷尽性测试不现实
  • 全面检查每个测试结果
  • 妥善保存测试资产
  • 测试是富有挑战性的工作

测试思想:是辨识某个测试可能有用的简要说明,是测试用例的思想来源。
来源:需求规格说明书,软件模型,客户的抱怨,用户手册,市场调研,程序源码,头脑风暴等。

这篇关于unit1_软件质量保证基础知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686009

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记录生活,只要是剪辑得漂亮,肯定能一下子吸引大家的目光,让人记得你。咱们今天就来侃侃现在超火的三款视频剪辑工具,尤其是PR剪辑,你肯定听说过,这货在剪辑界可是大名鼎鼎,用它剪视频,既专业又麻利。 NO1. 福昕轻松