【软件测试】概念篇

news2025/1/4 19:23:52

目录

一、需求

1.1用户需求

1.2软件需求

1.3需求的重要性

二、测试用例

三、BUG

3.1什么是BUG

3.2如何描述一个BUG

4.3BUG优先级

四、软件开发模型

4.1软件生命周期

4.2开发模型


定义:软件测试就是一系列活动,这些活动是为了评估一个程序或者软件系统的特性或能力,并确定是否达到了预期的效果。

可以将软件测试理解为一个过程,就是进行一个比较,拿着预期结果和程序执行结果作比较

软件测试只是一个样本试验,具有不可穷尽性。

一、需求

需求就是满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求。

用户需求比较简答,软件需求需要越详细越好。

1.1用户需求

可以简单理解为是甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务,该需求一般比较简略。

1.2软件需求

也可以叫做功能需求,该需求会详细描述开发人员必须实现的软件功能。

1.3需求的重要性

从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。

对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计。

二、测试用例

什么是测试用例:测试用例是为了实施测试而被测试的系统提供的一组集合,这组集合包含:测试环境,操作步骤,测试数据,预期结果等要素。

执行测试的时候绝大部分测试点都是参考测试用例的。

为什么有测试用例:(1)测试用例解决测试人员工作重复性的问题。(2)测试用例可以提高测试人员工作效率。(3)测试用例是自动化的基础。

三、BUG

3.1什么是BUG

当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能和要求时,就是软件错误;

3.2如何描述一个BUG

(1)发现BUG的版本

(2)问题出现的环境:PC电脑,手机,浏览器型号、版本。

(3)错误重现步骤:通过什么样的操作可以出现这个问题。

(4)预期行为的描述:预期结果的描述。

(5)错误行为的描述:执行结果的描述。

(6)其他:bug标题,bug优先级。

4.3BUG优先级

1、BUG为什么要分优先级

例如一共找到了10个BUG,1-3非常严重,今天必须修复完成。4-7这几个问题明天或者后天修复也行。8-10这几个问题影响不大,如果没有时间修复,也可以等下一个版本开发的时候再修复。

2、BUG有哪些优先级

(1)Blocker(崩溃):

阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错 误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单 功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。
(2)Critical (严重):
系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他 功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用 冲突,安全问题、稳定性等。如:软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序 接口错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测试)。
(3)Major (一般):
功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间长、查询 时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等( 该问题实际测试中存在最多)
(4)Minor (次要):
界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格 式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)

四、软件开发模型

4.1软件生命周期

软件从诞生到软件不能使用就是软件生命周期。即需求分析,计划,设计,编码,测试,运行维护。

1、需求分析

PM(产品经理)

QA(测试)产出需求文档(软件规格说明书)。

RD(前端和后端开发)判断需求是够合理,需求是否完整。

2、计划

软件开发由谁去做,软件什么时候开发,什么时候结束开发。

3、设计

UI设计师产出一个UI设计稿。

开发人员产出一个技术文档(接口,库表,缓存,mq……)。

4、编码

写代码实现需求。

5、测试

执行测试,提BUG,验收BUG,发送测试报告。

6、运行维护

上线、维护线上软件质量(当发现线上BUG,测试人员需要复现BUG,开发人员需要修复问题)

4.2开发模型

1、瀑布模型

 特点:每个阶段时间的关系是线性的。

优点:每一个阶段要做的工作非常的清楚。

缺点:产品效果出现的较晚,如果测试人员介入的太晚,以至于如果测试阶段发现问题,需要不断地向前回溯,如果需求出现问题,那么之前的工作付诸东流,需求需要重新设计。

往往适用于需求非常稳定的项目。

2、螺旋模型

 特点:每一次实施的时候都要进行风险分析。

优点:风险分析可以避免一些未知的问题。

缺点:风险分析错误,会导致一系列的损失。风险分析需要一定的成本。

大型项目,具有一些风险一般适用于螺旋模型。

3、迭代、增量

例如淘宝:登录、注册、搜索、查看商品信息、支付……

迭代:先开发淘宝-登录大概框架,先开发淘宝-注册大概框架,先开发淘宝-大概大概框架,查看,支付……

增量:先开发登录直到登录开发结束再去开发注册,注册开发结束在进行下一步……

迭代适用于模块和模块之间没有任何关系。

增量:项目先看到雏形,然后再仔细开发最终实现项目。

4、敏捷开发模型

(1)敏捷宣言:个体与交互重于过程工具。可用的软件重于完备的文档。客户协作重于合同谈判。相应变化重于遵循计划。在每对比对中,后者并非全无价值,但我们更看重前者。

特点:重沟通,轻流程。重交付,轻文档。重交付,轻文档。重协作,轻谈判。拥抱变化。

(2)Scrume角色

PO:产品经理:收集用户需求。

SM:项目经理:对项目进行计划、对需求进行优先级排序。

Team:研发团队(开发、测试、设计师),分别作用是实现需求,负责项目测试,产出交互设计稿。

5、测试模型

(1)V模型

 特点:线性的,左边是开发,右边是测试。

优点:将测试分为了好多种类,每个阶段要做的工作非常明确。

缺点:测试接入的太晚,测试和开发是串行的。

(2)W模型

 特点:开发一个V,测试一个V

优点:测试人员尽早介入了需求,开发人员和测试人员并行的。

缺点:测试和开发相应来说也是串行的,不能拥抱变化,不能那个适用于敏捷。

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

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

相关文章

新店速递 | IU酒店带您领略“东方古罗马”

淄博,位处鲁中,是黄河三角洲生态经济和蓝色经济区的交汇处。四季分明的气候造就了这座齐国故都的生态多样性,南高北低的地理位置使其峻岭平原兼具,鲁中的位置又赋予他交通枢纽的重要性。这里历史气息浓厚,社会文化自由…

中文语法纠错全国大赛获奖分享:基于多轮机制的中文语法纠错

中文语法纠错任务旨在对文本中存在的拼写、语法等错误进行自动检测和纠正,是自然语言处理领域一项重要的任务。同时该任务在公文、新闻和教育等领域都有着落地的应用价值。但由于中文具有的文法和句法规则比较复杂,基于深度学习的中文文本纠错在实际落地…

新能源汽车市场渗透率不断提高,锂电设备需求空间较大

根据观研报告网发布的《中国新能源汽车行业发展深度研究与投资趋势调研报告(2022-2029年)》显示,近年来,随着各国开启能源转型,在汽车领域,由于电动汽车具有高效节能、零排放等优点,已逐渐成为汽…

配置小型公司网络WLAN基本业务(AC通过三层口管理AP)

组网需求: 某小型企业由于业务需要,希望员工能在企业内部随时随地的访问Internet,进行移动办公。该企业部署了一台AR路由器作为出口网关,希望同时在AR路由器上部署WLAN功能,为企业员工提供无线网络接入服务&#xff0c…

JDK,JRE,JVM的作用及关系

1.定义JDK(Java Development Kit): 是Java语言的软件开发工具包,内部包含了代码的编译工具和运行工具。JRE(Java Runtime Environment): 指Java运行时环境,包含java虚似机、以及核心类库(java帮我们写好的程序)等java运行所需的东西。JVM(Java Virtual M…

必须要学习的源码--ConcurrentHashMap

并发安全的集合? 并发不安全的集合 在 Java 中,有一些集合是不安全的,因为它们不是线程安全的。这意味着如果多个线程同时访问这些集合,那么它们可能会出现不可预料的行为。 Java 中的并发不安全的集合包括: ArrayLi…

花房集团上市,走向元宇宙新征程

12月12日,花房集团在港交所成功上市,首日便受到追捧,当日最高涨幅达28.75%。 继360、360数科、鲁大师后,这是“红衣教主”周鸿祎收获的第四个IPO。 花房集团作为直播界元老之一,两年内三次申请IPO,终于在…

(GCC)STM32进阶详解之栈回溯

接上一篇: 函数调用 由上一篇大概了解了函数是如何被调用,中断或者说异常又是如何被调用,而这一篇相当于上一篇知识的一个应用,也是上一篇遗留的思考,即在hardfault中如何判断是从何处触发这个异常的。本来打算自己写…

GO09:整型、浮点、字符类型的介绍和使用细节

基本类型的使用 基本介绍 3.8整数的各个类型 func main(){var i int 1 fmt.Println("i", i) var j int8 127 fmt.Println("j", j) }int的无符号的类型: 整型的使用细节 一、Golang各整数部分:有符号和无符号,int u…

信而泰RENIX 802.1ag功能介绍-网络测试仪实操

一、EOAM概述​ 1.以太网​ 1.1以太网优点​ 简单易用​ 价格低廉​ 高拓展性​ 大势所趋,一统天下​ 1.2以太网缺点​ 可管理性差​ 定位故障手段少​ 定位故障速度慢​ 维护成本高​ 2.以太网OAM​ ■EOAM​ 为运营商服务​ 提高以太网可靠性、可维…

非零基础自学Golang 第15章 Go命令行工具 15.6 性能分析 15.6.2 通过文件方式 15.6.3 通过HTTP方式 15.7 小结

非零基础自学Golang 文章目录非零基础自学Golang第15章 Go命令行工具15.6 性能分析15.6.2 通过文件方式15.6.3 通过HTTP方式15.7 小结第15章 Go命令行工具 15.6 性能分析 15.6.2 通过文件方式 为了能分析Go程序的性能,我们需要在程序中导入runtime/pprof来生成性…

飞鹤揭榜“十四五”项目,牵头研制新一代婴配粉

12月22日,在“鲜萃活性营养,更适合中国宝宝体质”中国飞鹤60周年战略升级发布会上,飞鹤对外公布,其牵头申报的——“基于中国母乳研究的新一代婴配乳粉制造技术研究与示范”项目成功获批。 这是继去年飞鹤与江南大学、大连工业大…

大数据基础平台搭建-(二)Hadoop集群搭建

大数据基础平台搭建-(二)Hadoop集群搭建 大数据平台系列文章: 1、大数据基础平台搭建-(一)基础环境准备 2、大数据基础平台搭建-(二)Hadoop集群搭建 大数据平台是基于Apache Hadoop_3.3.4搭建的…

不同存储资源的应用场景及优缺点介绍

容器应用应当根据应用系统的特点,综合考虑容器应用对存储类型、存储性能及数据高可用等方面的要求,选择最适合的存储资源类型。常见的存储资源应用场景包括三类:将存储挂载在外部宿主机上、将存储放置于容器内部和使用外部共享存储。下面对每…

MySQL面试常问问题(数据库架构+存储引擎) —— 赶快收藏

目录 1.说说 MySQL 的基础架构? 2.一条 SQL 查询语句在 MySQL 中如何执行的? 3.MySQL有哪些常见存储引擎? 4.那存储引擎应该怎么选择? 5.InnoDB和MylSAM主要有什么区别? 1.说说 MySQL 的基础架构? MySQL逻辑架构图主要分三…

浅谈古建筑电气火灾成因及防控对策

摘要: 我国古建筑多为砖木结构,当发生火灾事故时具有蔓延快、扑救难的特点,而火灾对古建筑的损害性很大,电气火灾事故在我国火灾事故中比重居高不下。本文通过对古建筑电气火灾成因进行分析,有针对性地提出了古建筑电气火灾防控对…

Java工厂企业工艺管理系统源码 springboot2+vue2前后端分离架构 工艺路线 加工工序管理源码

工艺系统是对车间现场加工工序的管理,根据生产成品或者半成品的工单,以及产品标准工艺路线,系统可以自动生成产品工序加工命令 并且可以根据实际情况再进行工序调整.系统可以根据每道工序,打印工序派工单。工序之间物料转移&#…

【推荐】华为顶级认证HCIE-RS培训教材全套合集

HCIE是华为认证系统中的专家级认证。候选人必须通过笔试,LAB考试和面试,才能最终获得HCIE认证。困难还从另一方面解释了证书的含金量。 该认证具有很高的含金量和行业认可度。此外,获得HCIE证书的工程师将优先获得华为和华为合作伙伴的聘用&a…

Struts2中的数据校验

Struts2中的数据校验1、Action控制器2、jsp页面3、struts.xml配置4、测试1、Action控制器 如果要使用校验,则需要继承ActionSupport类,覆写validate()方法,如果是实现Action接口,则无法覆写此方法。直接在之前的控制器基础上进行…

Spring 中使用Nacos配置管理

添加依赖 <dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-spring-context</artifactId><version>${latest.version}</version> </dependency>本文使用的版本为&#xff1a;1.1.1 注&#xff1a;我们在N…