软件缺陷简介

news2024/9/17 8:19:51

缺陷种类

  • 遗漏,指规定或预期的需求为体现在产品种
  • 错误,需求是明确的,在实现阶段未将需求的功能正确实现
  • 冗余,需求说明文档中未涉及的需求被实现了
  • 不满意,用户对产品的实现不满意也成为缺陷

缺陷等级划分

  • 致命,造成系统或应用程序死机、崩溃、非法退出等问题,会导致用户数据丢失或被破坏,功能设计与需求严重不符
  • 严重,功能和特性没有实现,导致模块功能失效或异常退出,还有程序接口错误或数据流错误等问题
  • 一般:主要功能丧失,提示信息不太正确,用户界面设计太差以及删除未提示等问题
  • 提示:对功能几乎没有影响,产品及属性仍可使用的问题
  • 建议:测试人员提出的建议、质疑等问题、

缺陷报告

  1. 编号,用数字惊醒唯一标识缺陷
  2. 状态,描述缺陷当前状态,如修复、延期等
  3. 标题,通常用一句比较简洁的话描述Bug
  4. 类型,主要为了进一步描述缺陷产生的原因
  5. 所属版本,描述当前Bug所在的测试版本
  6. 所属模块,描述Bug所在的业务模块
  7. 严重级别,指Bug验证程度
  8. 优先级,按Bug严重级别来确定处理的优先级
  9. 发现人,Bug提交者
  10. 发现日期
  11. 复现概率
  12. 指定处理人,根据Bug类型指定处理人
  13. 详细描述,详细描述缺陷引发的原因及复现步骤,需包含测试环境、前提条件、测试数据、复现步骤、预期结果、实际结果等
  14. 附件,一般为截图、录屏、Log日志等

Bug定位方法

通常Bug分为四种类型,功能、性能、安全和专项质量。

功能关注系统业务流程是否正确

性能关注系统业务员流程是否流畅

安全关注系统是否存在漏洞,是否符合安全标准与规范

专项质量关注系统的用户体验(UX)、兼容性、稳定性、可靠性

Bug表现层
  • 条件:测试数据
  • 过程:测试步骤
  • 结果:测试结果
技术架构层次

软件从技术上分为3层,视图层(View)、控制层(Controller)、模型层(Model)

视图层:网页开发(HTML、CSS等),移动应用App(Activity页面、View组件等)

控制层:网页开发工具(Chrome Devtool),移动应用使用的工具

模型层:模型的传递方式(HTTP、TCP、RPC串口),模型的形式(JSON XML binary)

MVC三层分析法

Bug的定位往往也会按照软件技术架构层次采用MVC三层分析法。

1、View层常用分析法

        View层常见的问题是用户界面(UI)和用户体验(UE)。目前常采用人工测试和自动化测试,通过人工校验为主,自动化校验为辅的方法检验界面交互的准确性以及用户的体验感受。

2、Controller层常用分析法 

        Controller层通过平台自主提供的日志以及应用程序本身提供的应用调试日志分析代码层次的逻辑问题

3、Model层常用分析方法

        Model层根据运行平台的log、App调试机制以及链路来具体分析出现的问题。

Web Bug分析方法
1、Web UI View层Bug分析方法

        界面展示主要依赖于HTML、CSS、JS,可以使用Chrome开发者工具的elements和style两个板块来分析界面。

2、Web Controller层分析方法

        底层逻辑的错误在Console板块hi展示出详细的出错信息。而Source模块可以对错误进行定位,并通过Debug分析问题存在的上下文,找到代码问题的根源所在。

3、Web Model层分析方法-分析数据传递方式与结构

        Model层分析方法是基于运行平台的log。例如Chrome的network模块分析请求方式和数据的具体情况。链路分析使用代理工具,常用的有Fiddler、Charles和Mitmproxy以及网络层的嗅探(常用工具Tcpdump和Wireshark)

App Bug分析方法
1、App View层Bug分析 

        App的UI界面交互和UX/UE用户体验目前常用的是人工校验方式,以自动化作为辅助手段,用UI Diff的方式分析,尝试发现界面中存在的问题,其中人工测试能够发现未知特征的Bug,自动化测试可以断言常用功能是否正常,通过UI Diff可以发现界面结构细节的问题。

2、App Controller层分析

通过logcat分析App runtime日志。

3、App Model层分析方法

        根据平台本身提供的log或者运行平台调试工具,利用应用的日志,通过追踪模式分析链路问题。可以使用代理工具抓包分析,也可使用Wireshark、Tcpdump分析链路,从而找到Bug相应的日志,定位问题。

4、Android Profile网络分析

        Android提供的工具对App交互发生的网络请求进行中间过程的分析。

5、使用代理工具分析

        当工具本身不可调式时,可以使用代理分析工具。

6、网络层协议分析

        通过Tcpdump对程序抓包,并导入Wireshark分析。

性能Bug分析方法
1、H5性能分析方法

        H5的性能分析方法通常对网页加载的过程进行分析,通过W3C定义的Performance API对程序每个阶段发生的问题进行统计,需要各个浏览器支持对性能方面的分析。

2、利用Chrome分析Web性能
3、分析性能瓶颈,使用Profile进行代码剖析
4、代码覆盖率分析方法

测试环境搭建

        被测系统(Application Under Test,AUT)包括需要被测试的App、网页、后端服务。大致分为两个方面--移动端测试、服务端测试。

常见的被测系统类型
  1. UI:一般有Web、App和IOT里面的用户界面交互
  2. Service:对互联网各个端提供的服务,包括RESTful、WebService和RPC
  3. code:直接以代码形式提供的被测系统,如SDK和lib
部署方法

        测试部署包括脚本部署、容器部署。脚本部署说基于自动化脚本和自动化平台,通过自动化脚本完成对软件的分发、配置和启动。容器部署基于容器镜像Docker

脚本部署
  1. 通过bash、Python脚本实现自动化的构建与部署
  2. 通过持续集成平台,如Jenkins,完成测试流程管理
容器部署
  • 自动化构建bash
  • 容器构建Docker
  • 容器编排K8S
  • 持续集成Jenkins

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

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

相关文章

Qt QWebSocket网络编程

学习目标:Qt QWebSocket网络编程 学习前置环境 QT TCP多线程网络通信-CSDN博客 学习内容 WebSocket是一种通过单个TCP连接提供全双工通信信道的网络技术。2011年,IETF将WebSocket协议标准化为 RFC6455,QWebSocket可用于客户端应用程序和服…

金龙鱼:只是躺枪?

中储粮罐车运输油罐混用事件持续发酵,食用油板块集体躺枪。 消费者愤怒的火,怕是会让食用油企们一点就着。 今天,我们聊聊“油”茅——金龙鱼。 一边是业内人士指出,油罐混用的现象普遍存在,另一边是金龙鱼回应称&am…

Mac虚拟机跑Windows流畅吗 Mac虚拟机连不上网络怎么解决 mac虚拟机网速慢怎么解决

随着技术的发展,很多用户希望能在Mac电脑上运行Windows系统,从而能够使用那些仅支持Windows系统的软件。使用虚拟机软件可以轻松满足这一需求。但是,很多人可能会有疑问:“Mac虚拟机跑Windows流畅吗?”,而且…

3SRB5016-ASEMI逆变箱专用3SRB5016

编辑:ll 3SRB5016-ASEMI逆变箱专用3SRB5016 型号:3SRB5016 品牌:ASEMI 封装:SGBJ-5 批号:2024 现货:50000 最大重复峰值反向电压:1600V 最大正向平均整流电流(Vdss):50A 功…

懂点技术就可以做,适合程序员的一种生意思路|在FlowUs记录成长 发布知识库

你们是否经常在闲暇时刷刷手机,看看视频,打发时间呢?其实,这些零散的时间完全可以被利用起来,成为你们财富增长的源泉。下面我将分享一种适合程序员的生意思路,让你们用技术的力量,将知识转化为…

星环科技推出语料开发工具TCS,重塑语料管理与应用新纪元

5月30-31日,2024向星力未来数据技术峰会期间,星环科技推出一款创新的语料开发工具——星环语料开发工具TCS(Transwarp Corpus Studio),旨在通过全面的语料生命周期管理,极大提升语料开发效率,助…

什么是业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架,旨在帮助组织高效地进行架构设计和管理。而TOGAF的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 所以今天我们就来聊聊,企业…

挂载磁盘目录(挂载一个u01的磁盘目录)

这里我们没有u01磁盘目录,需要重新挂载一个u01磁盘目录 查看当前文件系统使用情况 [rootlocalhost ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 1.4G 0 1.4G 0% /dev tmpfs …

C++初学者指南-5.标准库(第一部分)--顺序视图

C初学者指南-5.标准库(第一部分)–顺序视图 文章目录 C初学者指南-5.标准库(第一部分)--顺序视图std::string_view (C17)避免不必要的内存分配类似字符串的函数参数创建string_viewsstring_view接口 std::span (C20)作为参数(主要用例&#x…

0301STM32GPIO外设输出功能

STM32GPIO外设输出功能 STM32内部的GPIO外设GPIO简介基本结构GPIO位结构输入部分:输出部分: GPIO八种工作模式浮空/上拉/下拉输入模拟输入开漏/推挽输出复用开漏/推挽输出 手册寄存器描述English缩写GPIO功能描述外设的GPIO配置GPIO寄存器描述端口输入数…

TSN时钟同步 | PTP对时案例演示——基于NXP i.MX 8M Plus

TSN简介 TSN介绍 时间敏感网络(TSN:Time Sensitive Networking)是IEEE802.1工作组中的TSN任务组开发的一套协议标准。该标准定义了以太网数据传输的时间敏感机制,为标准以太网增加了确定性和可靠性,以确保以太网能够为关键数据的传输提供稳…

Keil 5 在编译代码时出现CPU占用过高、伴随出现keil卡顿未响应的问题解决办法

问题背景: 在使用keil 5编译程序的时候,经常出现CPU占用100%,并且伴随出现keil卡顿未响应情况。 如下图所示: 解决方法1: 修改keil的多线程编译设置,减少编译的线程数或者不使用多线程编译(编译…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(三)

上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &a…

交易伦敦银系统,听说高手都有一套

成功的伦敦银交易者都有一套自己的交易系统,这个系统为他们提供了一个明确的、可重复的决策框架,无论白银市场如何波动,他们都能按照既定的规则和策略进行操作,避免了情绪化决策和随意交易——这样的一致性有助于减少错误和亏损&a…

[激光原理与应用-108]:南京科耐激光-激光焊接-焊中检测-智能制程监测系统IPM介绍 - 11 - 焊接工艺概述之准备知识

目录 前言: 一、准备知识 1.1 焊接前的处理 1.2 激光焊接原理 1、激光焊接基本原理 2、熔池的形成 3、熔池的流动与凝固 4、影响熔池质量的因素 5、激光焊接熔池的优势 1.3 激光焊接技术 1.4 焊接工艺难题的解析步骤 前言: 焊接工艺的主要任…

机器学习(五) -- 监督学习(6) --逻辑回归

系列文章目录及链接 上篇:机器学习(五) -- 监督学习(5) -- 线性回归2 下篇:机器学习(五) -- 监督学习(7) --SVM1 前言 tips:标题前有“***”的内…

location匹配的优先级和重定向

nginx的重定向(rewrite) location 匹配 location匹配的就是后面的uri /wordpress 192.168.233.10/wordpress location匹配的分类和优先级 1.精确匹配 location / 对字符串进行完全匹配,必须完全符合 2.正则匹配 ^-前缀级别&#xff…

cadence23 中 板框的定义与 .dxf板框文件的添加

新建board板子的图纸: 板框定义在board geometry 中的 Design_Outline中: 点击添加矩形: 查看选项,将选项卡由 绘制矩形 改为 放置矩形 ,自定义宽度和长度; 选择放置在板框层: 即放置成功&a…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥派生(C/C++)】

密钥派生(C/C) 以HKDF256密钥为例,完成密钥派生。具体的场景介绍及支持的算法规格,请参考[密钥生成支持的算法]。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 生成密钥 指定密钥别名。 初始化密钥属…

【TB作品】51单片机 Proteus仿真 基于单片机的LCD12864万年历及温度监测系统设计

实验报告:基于单片机的LCD12864万年历及温度监测系统设计 背景介绍 本实验旨在设计并实现一个基于STC89C52单片机的LCD12864显示的万年历系统,同时集成温度传感器以实现温度监测功能。系统具备整点报时和闹钟功能,通过蜂鸣器进行提示。该设…