软件测试 -- 进阶 6 软件缺陷

news2024/11/27 6:23:14

    上工治未病之病,中工治欲病之病,下工治已病之病。-- 孙思邈 .《千金方药方》
    释译:未病之病:未病,未发之病(及早干预,防止病发);欲病之病:小病,病初起之时(症状不明显,病人无痛苦时);已病之病:重病,病情严重时。

1. 软件缺陷

  • 从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。  -- IEEE729-1983 
  • 计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。
  • 软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。

2. 常用述语

  • 错误,Error。软件生命周期内不希望或不可接受的人为痕迹(人为过程、错误,外部行为),错误导致缺陷的产生。(异常、矛盾)
  • 缺陷,Defect / Bug。(缺点、偏差 variance、问题 problem) -- 那张有名的BUG图,Harvard Mark II计算机里的一只飞蛾(来源:网络)

  • 故障,Fault。软件运行过程中出现的不希望或不可接受的运行结果(内部行为)。
  • 失效,Failure。软件运行过程中出现的不希望或不可接受的系统外部表现(外部行为)。(失败)
  • 事故,Incident。软件运行失效后出现的不希望或不可接受的损失。(外部行为)

       错误 -- 导致 --> 缺陷 -- 激活 --> 故障 -- 未处理 --> 失效

3. 发现软件缺陷

  • 发现人

    - 用户、客户;需求、设计、开发、测试、运维、市场;随机“苦力”。。。。。 。
    - 软件生命周期中的所有参与者都可能发现软件缺陷
  • 发现阶段

    - 业务;需求、设计、开发、测试、构建、发布。。。。。。
    - 软件缺陷存在于软件生命周期的每一个阶段,随着生命周期中软件运行状态的变化,会产生新的非预期缺陷
  • 发现方法

    - 有计划、有策略的执行:测试用例
    - 总结与经验:探索式测试、验收测试、系统试运行(并行)、业务高危维护
    - 随机发现:Ad-hoc测试、Monkey测试、走廊测试。。。。。。
    - 快速验证:冒烟测试(Smoking Test)、主流程测试、专项测试
    - 手工测试 + 工具/自动化测试

4. 软件缺陷生命周期

5. 新建软件缺陷属性(参考 JIRA 缺陷新建页面)
    - 说明
      * 缺陷类型,由测试执行的版本类型决定,也可在提交页面中自定义,如 功能、UI、接口、配置、集成、性能、文档。。。。。。
      * 产生原因(Root Cause),可由开发人员修复缺陷后确认 或 测试人员关闭缺陷时确认,后期用来对缺陷分布进行分析,从而持续改进质量。如,
        > 过程阶段(客户;需求、架构、设计、编码、测试、发布)
        > 过程管理(时间、成本、范围、办公环境、沟通/管理方式。。。)
        > 团队/人力(沟通、能力、责任心。。。)
        > 文档(需求分析、详细设计、测试用例。。。)
        > 业务(服务器、数据库、接口、代码)
        > 环境(平台、网络、浏览器、工具。。。)
        > 硬件(型号、版本、驱动。。。)
        > 软件(版本、配置。。。)

 6、新建软件缺陷注意点

  • 概要/Summary

    - 精炼、短小。标识(统一、格式化、提前定义) + 简述(哪类用户,做了什么,系统响应情况)
    - 例:缺陷注册人,未输入概要,点击提交按钮后系统正常提交
  • 描述

    - 可再现/复现(指导)
    - 客观:只描述、不评价,缺陷现象描述避免使用形容词、副词
    - 条件:缺陷操作产生条件,环境 + 数据 + 角色 + 配置。。。。。。
    - 结果:预期结果 + 实际结果;对比需求/设计,明确缺陷现象
    - 完整、清晰、条理、准确、详细、简洁
    - 步骤使用序号排列,每个步骤只描述一个操作,实际结果描述准确
    - 描述语句使用:简单句、陈述句、主动句(以操作对象为主语,描述实际系统表现; 与测试用例区别:多使用被动句,避免使用具体人称)
    - 建议建立一定格式要求,保证缺陷描述内容完整
  • 附件

    - 截图(强烈建议),缺陷发生快照(辅助缺陷描述):保留必要的缺陷发生时的快照 + 添加必要提示、描述(圈示、标号、说明)
    - 录屏,缺陷复现操作复杂、现象难于清晰描述、或难于再现时,可进行录屏,供缺陷修复人原分析、定位缺陷
    - 测试数据,特别设计的测试数据 或 特殊测试所用数据

7. 软件缺陷管理

  • 软件缺陷管理,即软件缺陷生命周期管理,参考 3. 软件缺陷生命周期
  • 软件缺陷登记/注册/提交时,应关连对应的测试用例,以确保每一条用例都经过验证
  • 不放过任何的缺陷,每一个缺陷都应被有效记录、跟踪 和 解决
  • 应充分利用工具,以提高软件缺陷发现率,提升测试覆盖率

    - 缺陷管理工具:Excel(microsoft相关组件);JIRA、Bugzilla、Mantis、禅道、Redmine 。。。。。。
    - 测试脚本开发:针对测试对象,使用开发语言开发专项测试工具,如 python, java, ruby。。。。。。
    - 专业测试工具:Loadrunner(性能测试套件)、Jemeter(功能+性能测试)、Postman(接口测试)。。。。。。
  • 软件过程管理,将软件缺陷管理纳入软件生命周期管理的有机部分

8. 软件缺陷分析
    说明:
    * 以测试代评,通过缺陷分析评价软件对象质量
    * 缺陷分析指标,应以项目目标为基础,充分考虑 时间、成本、范围 在质量间的平衡关系

  • 缺陷数量
  • 缺陷状态

    - New、Processing、Fixed、Won't fix、Duplicate、Delay。。。。。。
    - 提交缺陷与修复缺陷关系,燃尽图(Burn Down 剩余工作 / Burn Up 完成工作)
  • 缺陷分布

    - 版本
    - 功能
    - 模块(缺陷聚集效应)
    - 类型(功能、性能、UI、易用性、可用性。。。。。。)
    - 时间(日期)
    - 严重度
    - 产生来源
    - 提交者
    - 开发者(谁开发谁维护)
  • 质量评价

参考:

  1. 1044-1993 - IEEE Standard Classification for Software Anomalies. | IEEE Standard | IEEE Xplore
  2. 【分享】软件缺陷生命周期 - 基智地
  3. 软件缺陷的详细整理 - 知乎

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

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

相关文章

MIR7创建预制发票BAPI

1、事务代码MIR7 前台输入采购订单等相关字段进行开票 2、代码实现 调用BAPI:BAPI_INCOMINGINVOICE_PARK创建发票 "--------------------斌将军-------------------- DATA:ls_headerdata TYPE bapi_incinv_create_header,lv_invoicedocnumber LIKE ba…

桌面画图工具:Pointofix(fertig)

Pointofix桌面画图工具 Pointofix - der virtuelle Textmarker fr Ihren Bildschirm - Freeware 一、软件下载 官方网址https://www.pointofix.de/ 二、进入下载页面,需要下载安装文件和语言包两个文件 三、网站还提供了一个语言设置小程序,但我没用 …

JavaSE笔记——抽象类和接口

文章目录前言一、抽象类和方法二、接口创建1.默认方法2.多继承3.接口中的静态方法三、抽象类和接口四、完全解耦五、使用继承扩展接口六、接口适配七、接口字段八、接口和工厂方法模式总结前言 接口和抽象类提供了一种将接口与实现分离的更加结构化的方法。 一、抽象类和方法 …

传奇外网架设教程

外网架设前需准备: 准备工具:传奇版本源码,服务器,备案域名,DBC数据库,周年客户端 服务器和备案域名需要自备或者租用,这东西自己造不出来!!! 其他的工具,…

Flink被阿里收购4年,最开心的却是Spark背后的Databricks

最近,Flink Forward Asia(FFA)峰会成功举行,有关Flink的讨论,又开始在国内热闹起来。 2022 年,Apache Flink 社区保持快速发展:GitHub Star 数突破 2 万,单月下载量突破 1400 万次&…

学习总结 | 下一代人工智能

文章目录 一、前言二、底层逻辑三、六大维度今后发展的方向是第三代人工智能,最主要的措施就是把第一代人工智能知识驱动的方法和第二代人工智能数据驱动的方法结合起来,发展安全、可信、可靠和可扩展的人工智能技术,从而推动人工智能的创新应用。 一、前言 中国科学院院士…

iTOP3A5000开发板多路PCIE、SATA、USB3.0等

iTOP3A5000开发板多路PCIE、SATA、USB3.0等 桥片:支持PCIE3.0、USB3.0、SATA3.0、显示接口2路、HDMI和1路VGA、可直接连显示器,另外内置一个网络PHY,片内集成了自研GPU、搭配32位DDR4显存接口,支持16GB显存容量。 底板引出多路PCI…

第3关:添加数据、删除数据、删除表

为了完成本关任务,你需要掌握:1.如何使用HBase shell命令添加数据、2.如何使用命令删除表。 首先启动HBASE 启动HBASEshell 添加数据 我们来给上一关创建的test表的列data添加一些数据: hbase(main):002:0> create test,data Created t…

在 Python 中构建一体化音频分析工具包,在一个地方分析您的音频文件

语言构成了人类之间每次对话的基础。因此,自然语言处理(或简称 NLP)领域无疑在帮助人类日常生活方面具有巨大潜力。 简而言之,NLP 领域包含一组旨在理解人类语言数据并完成下游任务的技术。 NLP 技术涵盖许多领域,例如问答 (QA)、命名实体识别 (NER)、文本摘要、自然语言…

0111 栈与队列Day1

剑指offer09.用两个栈实现队列 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1&#x…

音视频开发入门小知识

什么是视频 视频就是由一系列图片构成的,当画面快速切换时,人眼看起来就感觉是连贯的动作。 视频帧 帧,表示一张画面,就是一帧。一个视频就是由许许多多帧组成的。 帧率 帧率,表示单位时间内帧的数量,…

KingbaseES数据库 kdb_schedule 自动定时任务

KingbaseES数据库 kdb_schedule 自动定时任务 文章目录KingbaseES数据库 kdb_schedule 自动定时任务前言一 安装插件 kdb_schedule1. 添加kdb_schedule2. 修改kdb_schedule所需参数:3. 重启数据库4. 加载kdb_schedule插件二 dbms_scheduler2.1 创建program创建progr…

(四) 共享模型之管程【Monitor 概念】

一、Java 对象头(P75) 二、原理之 Monitor(锁) Monitor 被翻译为监视器或管程。 每个 Java 对象都可以关联一个 Monitor 对象,如果使用 synchronized 给对象上锁(重量级)之后,该对象头的 Mark Word 中就被设…

Cookie Session JSP

这里写目录标题1 Cookie1.1 会话介绍1.2 Cookie 介绍1.3 Cookie 属性1.4 Cookie 方法1.4.1 Cookie 添加和获取1.5 Cookie 的使用1.6 Cookie 的细节2 Session2.1 HttpSession 介绍2.2 HttpSession 常用方法2.3 HttpSession 获取2.4 HttpSession 的使用2.5 HttpSession 的细节3 J…

高压功率放大器在超声驻波声场的听声器中的应用

实验名称:高压功率放大器在超声驻波声场的听声器声压测量中的应用 研究方向:3D打印 测试目的:利用听声器对声场的测量是一种基于对声压的采集,利用CPB分析及FFT分析处理,得到涉入点声压的方法。介于听声器采集信号为时…

单字段纵向分栏

【问题】 Hi, I’m trying to display BIRT report Data (only one field) first vertically till the page ends and then it should continue in the next column of the same page. For example as A E I B F J C G D HBy using list element I’m able to get the data …

opencv上设置摄像头曝光参数的经验

实际应用中我们需要调整摄像头的参数比如曝光,由于opencv的后端是一般编译是支撑多种插件,详细信息请参考OpenCV: Video I/O with OpenCV Overview,这里引用里面的图: 对于VideoCaputure,后端有ffmpge,V4L&…

SpringMVC入门

SpringMVC 一、SpringMVC简介 1、什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bea…

软件工程SSM毕设项目 - 基于SSM的中药店商城网站(含源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品,【基于SSM的中药店商…

微信小程序能给花店带来哪些作用_分享花店微信小程序开发优势

在开发过小程序的线下实体店铺中,有不少花店。开发了小程序的花店纷纷表示:"小程序提供了非常大的帮助,现在越来越离不开小程序了"。那么,小程序能给花店带来哪些帮助? 1、提升店铺曝光半径挖掘更多流量 对…