测试1:测试相关概念

news2024/11/16 3:35:38

1.测试相关概念


1.1.测试概念

1.1.1.需求

符合正式文档规定的条件和权能,包括用户需求和软件需求
需求

它们之间的的转换是:沟通

用户需求和软件需求的区别:

能否指导开发人员开发,测试人员编写测试用例

1.1.2.缺陷Bug

正确的需求规格说明书不一致或与用户合理的期望不相同

缺陷的状态:

new、open、fixed、closed、reopen、rejected、delay

1.1.3.测试用例

向被测程序输入的一组集合,包括要素:

测试环境、测试数据、测试步骤、测试预期结果、测试版本、备注

思路:

1.对核心主要功能进行测试

2.进行异常(逆向、扩展、发散)–容错性测试

3.写功能测试之外的测试点(安全、性能、界面、易用)

存在的问题:

1.设计测试用例是费时费力的工作,比执行时间长

2.测试的覆盖率无法衡量,对新版本的重复测设很难实施

2.开发模型和测试模型

1.软件生命周期

软件生命周期是指软件的产生直到报废的生命周期。从软件产品的设想开始到软件不再使用而结束的时间

具体包括:
问题的定义及规划,需求分析,软件设计(概要,详细),软件编码,软件测试(单元测试,集成测试,系统测试,验收测试),运行维护

2.测试生命周期

测试周期是指从测试项目计划建立到BUG提交的整个测试过程。 软件测试周期并行与软件生命周期,存在于软件生命周期的各个阶段。

参考 :软件测试的流程

1、需求分析阶段:阅读需求、对需求进行分解、分析,主要就是对业务的学习,分析需求点,参与需求评审会议

2、测试计划阶段:主要任务就是编写测试计划、测试方案,参考软件需求规格说明书,项目总体计划,内容包括测试范围(来自需求文档),进度安排,人力物力的分配,整体测试策略的制定。风险评估与规避措施有一个制定。

3、测试设计、测试开发阶段:测试人员适当的了解设计,对于设计测试用例是很有帮助的,测试人员搭建测试用例框架,根据需求和设计编写一部分测试用例。

4、测试执行阶段:测试执行阶段是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试。

​ 搭建环境,执行冒烟测试(预测试)-然后进入正式测试,bug管理直到测试结束

5、测试评估阶段:执行的过程中记录、管理缺陷,测试完成后编写测试报告,进行测试评估,确认是否可以上线

  • 测试报告包含哪些内容

    测试概况–测试过程分析–缺陷分析–测试结论–测试清单

3.开发模型

3.1 瀑布模型:串行

适用:项目需求稳定,需求变更较少的项目或是之前已有的做过的产品

优点:

分步清晰,阶段性强:测试阶段单独分出来

缺陷:集成之日就是爆炸之时

(1)测试阶段靠后,发现问题的时机晚,修改成本高,风险大。

(2)测试阶段靠后,误认为测试不重要

(3)项目成果不能及时分享其它项目

(4)不能适应需求变化

瀑布模型

把软件开发模型分为好几个阶段,包括软件计划、需求分析、设计、实现、软件测试、软件运行维护。

具有一种比较明显的分层,每一阶段的结果文档会作为下一阶段的输入,强调文档,整个周期完成的差不多了才能看到结果;

没有迭代和反馈,只能一步一步来,流程没有回头路。不能适应客户不断变化的需求,后期需要改动时成本也比较大

测试比较晚,基本上是在软件完成之后进行的测试

3.2 螺旋模型:渐进式

适用:复杂度高、风险大、规格大,做一点测一点,测试必须跟随开发。没有独立的测试时间和阶段

强调:风险,保证各个阶段的质量

缺陷点:对人员的要求比较高,投入时间多,人力成本高,进度缓慢

3.3 增量和迭代:

目的:大型项目,为减少项目的风险

增量:显著降低项目风险,逐块建造,一部分一部分的做,新版本、新加功能对软件其他功能没有影响

迭代:反复求精,先轮廓再细化,新版本、新加、删除功能对软件其他功能有影响,原来功能需要修改

3.4敏捷开发模型:快速迭代,若干小迭代

敏捷宣言4条:(敏捷开发与传统开发的区别)

(1)轻文档,对文档依赖度低,但还是需要。强调软件的可用性

(2)强调人与人之间的沟通

(3)客户参与

(4)在正式发布之前拥抱变化,

敏捷开发有很多方式,SCRUM是比较流行的一种

特点:

(1)三种角色:产品经理、项目经理、研发团队

(2)不超过10人(5-9人)

(3)每天有站立会不超过15分钟,回答昨天做了什么,今天要做什么,有什么问题

(4)迭代时间1-4周。每次迭代产生一定的交付(会做出一点功能,即使还不完善)

流程:

po整理USER STORY --开会学习USER STORY,确定每次迭代完成的USER STORY

----分配USER STORY,确定完成时间–开发完成–测试中–测试完成–待发布上线–发布上线

敏捷开发:

按一个短的迭代周期工作,强调“快”,每次迭代交付一些成果,(或者说先做出一个不完美但能实现一定的功能的版本);让客户参与进来,有新需求就,快速响应变化,迭代产生新版本,缩短软件版本的周期。

强调开发软件而不是文档。

特点:让客户参与进来,客户需求的变动和软件有些不符合需求的地方可以第一时间进行了解和改动; 缩短版本周期; 每隔一段时间(一个迭代周期),团队可以在工作方面进行反省和改进,调整自己的行为; 强调开发软件而不是文档,提高编程人员的积极性。

敏捷测试:

以用户需求为中心,在每一个迭代周期都需要进行测试,

基于自动化测试->速度快、敏捷

更强调测试的速度和适应性,侧重计划的不断调整以适应需求的变化

强调面对面的沟通、协作,强调团队的责任,不太关注对缺陷的记录与跟踪。缺陷修复的成本也较低

4. 软件测试V模型

目的:改进软件开发的效率和效果

是瀑布模型的变种

单元和集成测试:检测程序的执行是否满足设计的要求

系统测试:检测系统功能和性能的质量特性是否达到系统要求的指标

验收测试:确定软件的实现是否满足用户需求、合同要求

局限性:测试阶段在编码之后,未在许爱u阶段就进入测试

4.2 W模型(双V)

解决V的缺点,每个阶段都有测试工作,不一定是测试人员参与

特点:

1.测试与开发并行

2.测试的对象不仅是程序,好包括需求、设计等

3.能尽早全面发现问题

局限性:测试盒开发保存一种线性的前后关系,上一阶段完全结束,才可开始下一阶段,不能支持敏捷开发模式

V模型和W模型的比较:

V模型:把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。(应该比较多包括系统测试和验收测试)

W模型:测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计。因为在需求阶段测试就已经介入了,后面每一阶段的开发都需要经过测试,能够尽早发现软件的缺陷,降低debug的成本

4.3 敏捷测试(解决V\W的缺陷):

沟通、适应

文档可以写粗略,可以画思维导图,借助自动化

3.如何描述一个缺陷

对bug的描述尽量简短但要求清晰,对bug出现的条件进行详细的描述,包括输入的测试用例、使用的环境、有没有和其他软件同时运行,以及需要写清bug出现的位置,帮助开发更好定位。

按照用户体验(bug是否很严重的影响用户体验)、影响系统的程度进行评级。

3.1 要素(一条bug记录的组成)

测试环境、测试数据(内容)、测试步骤、预期结果、实际结果、缺陷级别、测试版本、前提条件、发生的位置

3.2 缺陷的级别(如何对一个bug评级)

3.2.1 简单版

崩溃 严重 一般 次要 建议

A B C D E

崩溃:直接造成软件不能使用,造成死机、数据丢失等

严重:功能不能使用,数据丢失。与需求严重不符,不影响其他功能测试的情况下可以继续版本测试

一般:功能没有完全实现但不影响使用,不影响系统的稳定性

次要:界面、性能缺陷,建议类问题,文字错误等

3.2.2 详细描述

Bug的priority()和severity()是两个重要属性,通常人员在提交bug的时候,只定义severity,而将priority交给leader定义,通常bug管理中,severity分为四个等级blocker、critical、major、minor/trivial,而priority分为五个等级immediate、urgent、high、normal、low。 Severity:

1、blocker:即系统无法执行,崩溃,或严重资源不足,应用模块无法启动或异常退出,无法测试,造成系统不稳定。常见的有严重花屏、内存泄漏、用户数据丢失或破坏、系统崩溃/死机/冻结、模块无法启动或异常退出、严重的数值计算错误、功能设计与需求严重不符、其它导致无法测试的错误, 如服务器500错误。

2、critical:即映像系统功能或操作,主要功能存在严重缺陷,但不会映像到系统稳定性。常见的有:功能未实现,功能错误、系统刷新错误、数据通讯错误、轻微的数值计算错误、影响功能及界面的错误字或拼写错误。

3、major:即界面、性能缺陷、兼容性,常见的有:操作界面错误,边界条件错误,提示信息错误,长时间操作无进度提示,系统未优化,兼容性问题。

4、minor/trivial:即易用性及建议性问题。 Priority 1、immediate:即马上解决, 2、urgent:急需解决 3、high:高度重视,有时间要马上解决

5、low:在系统发布前解决,或确认可以不用解决。

3.3 bug的生命周期

Start–New :测试人员发现bug,提交到平台后的状态为new

New–Open:测试人员将bug提交给某个研发人员的状态为Open

Open–Regected:研发人员验证不是缺陷,将状态改为rejected,返回给测试

Open–Delay:研发人员验证是缺陷,但不影响使用,等下个版本在修改,Delay

Open–Fixed:研发人员验证是bug,进行修改

Fixed–Closed:研发人员修改完成,测试人员验证通过,就Closed改bug

Fixed–Reopen:研发人员修改后,测试人员没有验证通过,就是Reopen再到Fixed

无效的bug:

open–closed open–rejected–closed

3.4bug都有哪些周期,请你描述不同类别的bug?


3.5 如何发现更多的缺陷

1.二八原则–人员、模块

2.逆向思维、扩展性思维

3.不要依赖需求和测试用例

4.测试尽早介入

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

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

相关文章

补充前端面试题(三)

图片懒加载<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…

「数据仓库」怎么选择现代数据仓库?

构建自己的数据仓库时要考虑的基本因素我们用过很多数据仓库。当我们的客户问我们&#xff0c;对于他们成长中的公司来说&#xff0c;最好的数据仓库是什么时&#xff0c;我们会根据他们的具体需求来考虑答案。通常&#xff0c;他们需要几乎实时的数据&#xff0c;价格低廉&…

[SSD科普之1] PCIE接口详解及应用模式

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准&#xff0c;它原来的名称为“3GIO”&#xff0c;是由英特尔在2001年提出的&#xff0c;旨在替代旧的PCI&#xff0c;PCI-X和AGP总线标准。一、PCI-E x1/x4/x8/x16插槽模式PCI-E有 x1/…

day20_经典接口(Comparable丶Comparator)

由来 我们知道基本数据类型的数据&#xff08;除boolean类型外&#xff09;需要比较大小的话&#xff0c;之间使用比较运算符即可&#xff0c;但是引用数据类型是不能直接使用比较运算符来比较大小的。那么&#xff0c;如何解决引用类型比较大小的问题&#xff1f; java.lang…

基于Spring、Spring MVC、MyBatis的房屋销售购买系统

文章目录项目介绍主要功能截图&#xff1a;登录前台首页后台首页房屋区域管理出租房屋审核账号管理部分代码展示设计总结项目获取方式&#x1f345; 作者主页&#xff1a;Java韩立 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题…

vTESTstudio - VT System CAPL Functions - VT2004(续2)

不要沮丧&#xff0c;不必惊慌&#xff0c;做努力爬的蜗牛或坚持飞的笨鸟&#xff0c;我们试着长大&#xff0c;一路跌跌撞撞&#xff0c;哪怕遍体鳞伤。vtsSetPWMVoltageLow - 设置PWM输出上的低电压功能&#xff1a;指定数字输出信号&#xff08;尤其是PWM信号&#xff09;输…

2023年美赛C题Wordle预测问题一建模及Python代码详细讲解

相关链接 &#xff08;1&#xff09;2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 &#xff08;2&#xff09;2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 &#xff08;3&#xff09;2023年美赛C题Wordle预测问题三、四建模及Python代码详细讲解 &…

史密斯圆图

在射频、微波中&#xff0c;常常使用史密斯圆图来做阻抗匹配。在不涉及复杂的数学推导&#xff0c;仍能把圆图用起来。 比如&#xff0c;共轭匹配。 RL1jX&#xff0c;需要找到-jX来抵消jX&#xff0c;消掉虚部之后&#xff0c;只留下实部&#xff0c;最终等效为RL‘1。 史密…

Android 基础知识4-2.7 RelativeLayout(相对布局)

一、RelativeLayout的概述 RelativeLayout&#xff08;相对布局&#xff09;是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。在很多时候&#xff0c;线性布局还不能满足我们的需求&#xff0c;比如&#xff0c;我们在一行&#xff08;列&#xff09;上显示多个控…

C#反射原理

一、前言反射&#xff08;Reflection&#xff09;的内容在博客中已经写了一篇&#xff0c;什么是反射&#xff0c;反射的使用&#xff0c;反射优缺点总结&#xff1b;在面试中突然被问道反射的原理&#xff0c;按照理解反射就是在Reflection命名空间和对象的Type对象获取类的方…

Innodb索引还不清楚?看这一篇就够啦

1. 索引是什么 1.1 初识索引 ------------------- | id | name | age | ------------------- | 1 | 帅哥1 | 30 | | 2 | 帅哥2 | 18 | | 3 | 帅哥3 | 25 | | 4 | 帅哥4 | 21 | | 5 | 帅哥5 | 29 | | 6 | 帅哥6 | 35 | -------------------…

基于飞桨PaddleClas完成半导体晶圆图谱缺陷种类识别

wolfmax老狼&#xff0c;飞桨领航团无锡团团长&#xff0c;飞桨开发者技术专家&#xff08;PPDE&#xff09;&#xff0c;AICA六期学员&#xff0c;某半导体CIM软件集成商图像算法工程师&#xff0c;主要研究方向为图像检测、图像分割等算法。• 作者AI Studio主页https://aist…

Android开发:Activity启动模式

1.怎样设置Activity的启动模式 可以在清单文件中自己添加活动的启动模式, android : launchMode"standard", 不写的话系统默认就是标准模式. 2.启动模式 2.1.默认启动模式 标准启动模式就是栈, 打开一个活动就将活动压入栈中, 返回就将活动退出栈中. 不同的Activit…

老大react说:schedule,我们今年的小目标是一个亿

hello&#xff0c;这里是潇晨&#xff0c;今天来讲个故事 讲个故事&#xff1a; 从前&#xff0c;有家z公司&#xff0c;z公司的ceo叫react&#xff0c;它收下有个小弟或者叫小leader&#xff0c;schedule schedule每天负责消化老大react画的大饼&#xff0c;然后将拆解成一…

如何开始写Python爬虫?给入门Python小白一条清晰的学习路线

记录一下我自己从零开始写Python爬虫的心得吧&#xff01; 我刚开始对爬虫不是很了解&#xff0c;又没有任何的计算机、编程基础&#xff0c;确实有点懵逼。从哪里开始&#xff0c;哪些是最开始应该学的&#xff0c;哪些应该等到有一定基础之后再学&#xff0c;也没个清晰的概…

Java程序怎么运行?final、static用法小范围类型转大范围数据类型可以吗?

文章目录1.能将int强制转换为byte类型的变量吗&#xff1f;如果该值大于byte类型的范围&#xff0c;将会出现什么现象&#xff1f;2. Java程序是如何执行的&#xff1f;3.final 在 Java 中有什么作用&#xff1f;4.final有哪些用法?5.static都有哪些用法?1.能将int强制转换为…

Rust学习入门--【16】Rust 借用所有权 Borrowing / 引用

系列文章目录 Rust 语言是一种高效、可靠的通用高级语言&#xff0c;效率可以媲美 C / C 。本系列文件记录博主自学Rust的过程。欢迎大家一同学习。 Rust学习入门–【1】引言 Rust学习入门–【2】Rust 开发环境配置 Rust学习入门–【3】Cargo介绍 Rust学习入门–【4】Rust 输…

KubeSphere 社区双周报 | OpenFunction 集成 WasmEdge | 2023.02.03-02.16

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.02.03-2023.…

众德全自动批量剪辑工具,批量去重伪原创视频,全自动合成探店带货等视频

众德全自动批量剪辑工具已连续更新两年&#xff0c;服务了大大小小的自媒体公司工作室共200多个&#xff0c;成就了几百个草根创业者&#xff0c;实现月入10万&#xff0c;自从创办众德传媒之前&#xff0c;我一直坚信自媒体才是年轻草根创业者的出路&#xff0c;不需要技术门槛…

整合K8s+SpringCloudK8s+SpringBoot+gRpc

本文使用K8s当做服务注册与发现、配置管理&#xff0c;使用gRpc用做服务间的远程通讯一、先准备K8s我在本地有个K8s单机二、准备service-providerpom<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…