软件测试相关概念

这篇具有很好参考价值的文章主要介绍了软件测试相关概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是软件测试

软件测试的特点

什么是需求

用户需求

软件需求

从软件测试人员角度看需求

需求对测试人员的重要性

测试用例

BUG

软件生命周期

开发模型

瀑布模型

螺旋模型

增量迭代

敏捷

测试模型

V模型

W模型(双V模型)


什么是软件测试

软件测试就是验证软件产品特性是否满足用户的需求.

从这句话中可以看出:测试试图验证软件是"工作的",也就是验证软件功能执行的正确性;测试的活动是以测试人员"预期的结果"为依据,这里的"预期结果"指的是需求定义.

最常见的理解软件测试就是找bug,发现缺陷.

软件测试的特点

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

什么是需求

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

用户需求

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

软件需求

又叫功能需求,该需求会详细描述开发人员必须实现的软件功能.

大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员的直接依据就是软件需求.用户需求就是一句话,软件需求是一个文档(详细描述用户需求如何实现).

深入的了解需求一般需要召开需求评审会议,查阅文档和沟通.

从软件测试人员角度看需求

需求是软件测试人员开展软件测试工作的依据.

在具体设计测试用例的时候,需要先搞清楚每一个业务需求对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,然后针对每个测试需求点设计测试用例.

流程:业务需求->软件功能需求点->测试需求点->测试用例

软件测试相关概念

需求对测试人员的重要性

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

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


 测试用例

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

测试用例解决了两大问题:测什么和怎么测.

为什么要有测试用例

测试用例能够提高测试人员工作效率,降低测试人员工作的重复性问题.

测试用例是建立自动化的基础.


BUG

软件错误一般定义为程序与规格说明之间不匹配.

上述这个说法是片面的,准确的来说,当且仅当规格说明是存在并且正确,程序与规格说明之间的不匹配才是错误.

当需求规格说明书没有提到此功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误.


软件生命周期

软件生命周期是指从软件产品的设想开始到软件不在使用而结束的时间.

整个时间段可以分为6个阶段:需求分析,计划,设计,编码,测试,运行维护.

需求分析:分析需求是否合理,需求是否完整.

计划:谁来开发,谁来测试,开发多久,测试多久.

设计:技术文档(设计哪些接口,库表,定时任务等),UI视觉稿

编码:进行代码开发

测试:执行测试用例,提交bug,验收,生成测试报告.

运行维护:项目上线,如果有线上问题,此时测试人员需要协助开发问题+解决问题.


开发模型

瀑布模型

软件测试相关概念

瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一 次,因此是线性顺序进行的软件开发模式。

特点就是线性的.

优点:每个阶段做什么,产出什么都非常清晰.

缺点:风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会.

适用的项目:小型的项目.


螺旋模型

软件测试相关概念

一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模式。螺旋模型是渐进式开发模型的代表之一。
这对于那些规模庞大、复杂度高、风险大的项目尤其适合。这种迭代开发的模式给软件测试带来了新的要求,它不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。

优点:每个阶段都会进行风险分析,避免一些线上问题的发生.

缺点:风险分析可能分析不准确,需要人力财力的投入.

适用项目:适用于比较大,风险比较多的项目.


增量迭代

增量开发能显著降低项目风险,结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一。增量开发模型,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作。

增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,我们可以先画人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。


敏捷

2001年,以Kent Beck、Alistair Cockbum、Ward Cunningham、Martin Fowler等人为首的“轻量”过程派聚集在犹他州的Snowbird,决定把“敏捷”(Agile)作为新的过程家族的名称。
在会议上,他们提出了《敏捷宣言》(http://agilemanifesto.org/): 我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工怍,我们形成了如下价值观。

个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同谈判
响应变化重于遵循计划
在每对比对中,后者并非全无价值,但我们更看重前者。
敏捷是一种思想,敏捷开发有多种方式,其中scrum是比较流行的一种.
scrum
scrum product owner( 产品经理 ) scrum master( 项目经理 ) team( 研发团队 ) 组成。
其中 product owner 负责整理 user story( 用户故事 ) ,定义其商业价值,对其进行排序,制定发布
计划,对产品负责。
scrum master 负责召开各种会议,协调项目,为研发团队服务。
研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
迭代开发
与瀑布不同, scrum 将产品的开发分解为若干个小 sprint( 迭代 ) ,其周期从 1 周到 4 周不等,但不会超过 4 周。参与的团队成员一般是5 9 人。每期迭代要完成的 user story 是固定的。每次迭代会产生一定的交付。

软件测试相关概念

 产品经理收集用户需求,项目经理根据需求进行优先级的划分,计划项目何时开始何时结束,由谁完成.

每日站会汇报昨天工作情况和今天的计划.


测试模型

V模型

软件测试相关概念

特点:左边是开发,右边是测试,适用于瀑布模型.

优点:测试被划分成多个类型

缺点:测试人员介入台湾,实现问题的时机太晚.

W模型(双V模型)

软件测试相关概念

W模型由两个V字模型组成,分别代表测试与开发过程,图中也明显表示除了测试与开发的并行关系.

特点:测试的不仅是程序,需求,设计等同样要测试,测试与开发是同步进行的.

优点:测试人员介入的更早,能够及时发现问题.

缺点:测试人员和开发人员一定程度上还是串行的,不能拥抱变化,不能适用于敏捷.文章来源地址https://www.toymoban.com/news/detail-481201.html


到了这里,关于软件测试相关概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件测试】软件测试的基本概念和开发模型

    在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 软件测试的基本概念有3个,分别是 需求,测试用例和BUG. 这里的需求还可以分为 用户需求和软件需求 ,用户需求: 简单理解为甲方提出的需求

    2023年04月15日
    浏览(104)
  • 【软件测试】入门答疑,概念

    目录 一 、答疑 🌷 1. 什么是软件测试 🌷 2. 软件测试和开发的区别 🌷 3. 调试和测试的区别是什么? 🌷 4. 软件测试岗位 🌷 5. 一个优秀的软件测试人员具备的素质 🌷 6. 为什么要做测试 二、概念 🌷 1. 衡量软件测试结果的依据—需求 🌳(1) 需求的概念 🌳(2)

    2023年04月15日
    浏览(47)
  • 1 软件测试基本概念

    如下图: 课程学完可以到达中高级测试工程师 到达第二部分,基础入门非常重要. 什么是软件测试? 软件测试是验证用户产品死否满足用户需求. 是否满足用户需要关乎公司盈利. 2.调试和测试区别? 目的: 调试:发现解决软件中的缺陷. 测试:发现软件中的缺陷. 参与角色: 调试

    2024年02月08日
    浏览(32)
  • 软件测试(概念篇)

    目录 1.什么是软件测试? 2.什么是测试用例? 3.软件测试目的和原则? 4.测试左移和测试右移? 5.用户需求和软件需求的区别? 6.软件测试和研发的区别? 7.软件测试岗位? 8.软件测试人员应具备的素质? 验证软件是否满足用户的需求。 向被测系统发起的一组集合,这组集

    2023年04月10日
    浏览(33)
  • 软件测试基础概念

    需求分析-》测试计划-》测试设计-》测试开发-》测试执行-》测试评估 需求分析:分析需求是否合理和正确 计划:确定软件由谁测试? 什么时候开始测试,什么时候结束测试 测试那些模块 测试设计和测试开发阶段:设计测试用例(手工测试用例,自动化测试用例),编写测

    2023年04月21日
    浏览(43)
  • 软件测试开发的基本概念

                                        今天的这个知识比较少,我们来看看 测试和调试的区别 1.目的不同 测试的任务是发现程序中的缺陷; 调试的任务是定位并且解决程序中的问题。 2.参与角色不同 测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成

    2023年04月08日
    浏览(38)
  • 软件测试-基础面试相关

    简述一下BUG的生命周期? 这个答案我在一篇博客中写过就不用多叙述 缺陷生命周期 New 提出但尚未验证的潜在缺陷。 Assigned 已分配给开发团队以解决该问题,但尚未解决。 Active 正在解决缺陷,调查正在进行中。 Test 缺陷已修复并准备好进行测试。 Verified 重新测试的缺陷和

    2023年04月08日
    浏览(45)
  • 软件测试-测试的概念,单元测试的详细介绍,如何设计测试用例

    作为测试工程师,你就必须掌握设计开发测试基础架构的关键技术。第三,随着自动化测试的规模化,测试数据准备的各种问题被逐渐暴露并不断放大,成为影响自动化测试效率以及稳定性的“拦路虎”。早期的传统测试数据准备方法,无论是从测试数据准备的时间成本,还

    2024年04月14日
    浏览(49)
  • 软件测试面试题(Selenium相关)

    1、什么是Selenium? Selenium 是一个开源的自动化测试框架,主要用于自动化Web应用程序的测试。它支持多种浏览器(如Chrome、Firefox、Safari、Internet Explorer等)和多种编程语言(如Java、C#、Python、Ruby、JavaScript等),使测试人员可以编写测试脚本来模拟用户对Web应用程序的交互,

    2024年03月15日
    浏览(48)
  • 软件测试的概念与过程---项目启动与需求评审

    项目经理: 产品经理: 研发组长: 前端: 后端: 测试组长: 功能测试人员: 接口测试人员: 性能测试人员: 使项目成员对需求理解达成共识,并第一时间发现需求不合理点或者需求遗漏。 需求评审的意义是:

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包