• 8
  • 8
分享

一、软件测试是什么

  • 测试人员验证软件的功能是否满足用户的需求

  • 验证功能是否能够正常运行

补充:

用户包括使用软件的人、出资的甲方(购买软件的人)、流量用户

二、软件测试和软件开发的区别

定义区别

  • 软件开发:用程序开发的方式把用户的需求实现成一个软件(网页,app,小程序等)

  • 软件测试:测试人员进行测试,查看该程序是否满足需求,是否运行正常

难易程度

  • 软件开发:要求技能集中,专业度高

  • 软件测试:技能广泛,专业度相较于开发来说低

三、软件测试和软件开发中的调试有什么区别

目的不同

  • 软件调试:程序员验证软件是否实现了他自己想要让软件实现的功能

  • 软件测试:测试人员验证软件是否实现了用户的需求

角色不同

  • 软件调试:开发人员

  • 软件测试:测试人员和开发人员

阶段不同

  • 软件调试:开发阶段

  • 软件测试:贯穿了整个软件开发过程中,处处都有软件测试

四、软件测试和软件测试开发有什么区别

软件测试

通过手工或者自动化来验证软件功能的正确性

软件测试开发

也属于测试工程师,和纯测试不同的是,需要有一定的代码编写能力,能够写开发测试工具,开发测试脚本来帮助提高测试的效率

五、优秀的软件测试人员应有的素质(为啥选择软件测试)

  • 需要有较好的沟通能力,学习能力,开发能力,文字描述能力

  • 需要有测试用例的编写能力,自动化测试能力

  • 需要对这一份事业保持好奇心,要感兴趣

  • 责任感强大,抗压力强

  • 拥有着探索性思维,发散性思维,不被条条框框束缚

  • 对问题总能够保持着怀疑的态度,批判性思维

六、什么是需求

满足用户的期望或者合同规定的文档(标准,规定,合同)所需要的条件和权限

用户需求和软件需求

  • 用户需求可以简单理解为甲方要求或者是终端使用用户使用产品时必须要完成的任务。一般比较粗略,直接实现会有困难,缺乏细节

  • 软件需求是用户需求转化而来的,需要把用户需求细节实现和规范,使得用户需求变成一个具体可实现的过程文档

软件需求是测试人员进行测试工作的基本依据

七、测试用例是什么

测试用例就是向被测试系统发起的一组集合,包含测试环境,测试数据,测试步骤,预期结果(用例编号,测试概述,重要性,优先级,操作方式,前置条件…)

测试用例告诉我们测试的对象,测试的方法

存在意义

  • 衡量需求的覆盖率(测试用例和需求的对比)

  • 可复用(验证功能相同或类似的模块,加快测试效率)

  • 方便后人借鉴

  • 可以用于回归测试(修改了旧代码后,重新进行测试以确认修改没有引入新的错误或者导致其他代码产生错误)

  • 防止遗漏测试需求

八、什么是BUG

当且仅当,程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,就是软件错误(BUG)

当软件需求不存在的时候,用户的需求存在并且合理,软件功能和用户需求不相符合,就是软件错误(BUG)

九、开发模型(五个)

软件开发的生命周期指的是软件产品从设想开始到软件不再使用而结束的时间,主要分成6个阶段

需求分析——计划——设计——开发——测试——运行维护

(1)瀑布模型

start——需求分析——计划——设计——编码——测试——end

瀑布模型是线性顺序进行的软件开发模式,是所有其他模型的基础框架,每个阶段都只会执行一次

特点

  • 强调开发的阶段性,每一个阶段比较独立

  • 强调早期计划及需求调查

  • 强调产品测试

缺点

  • 依赖于早期进行的唯一一次需求调查,不能适应需求的变化

  • 由于是单一流程,开发的经验教训不能反馈应用于本产品的过程

  • 分险往往会延迟到后期的测试阶段才会显露,因而失去及时纠正的机会

(2)螺旋模型

螺旋模型适合于项目庞大,风险大,需求不是很明确,采用渐进式开发的项目

特点

  • 强调每一个迭代的测试质量和风险分析

  • 强调各个开发阶段的质量

  • 提供机会会检讨项目是否还有价值继续下去

缺点

  • 风险管控人力物力投入很多,成本比较大

(3)增量、迭代

增量模型和迭代模型非常的类似,能够显著降低项目的风险,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。

每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作

两者区别

  • 增量是逐块建造的概念(同一个项目分成A、B、C、D四个模块,先做A、B模块,再做C、D模块)

  • 迭代是反复求精的概念(同一个项目分成A、B、C、D四个模块,先开发四个模块的基础功能,再在这个基础上细化其他的功能)

(4)敏捷模型

特点:

  • 个体与交互重于过程和工具

  • 可用的软件重于完备的文档

  • 客户协作重于合同谈判

  • 响应变化重于遵循计划

轻文档,轻流程,重目标,重产出

敏捷开发中的 scrum 方式:

scrum方式是较为流行的敏捷开发方式

角色安排

  • 产品经理(product owner即PO):负责整理用户故事(user story),定义其商业价值,对其进行排序,制定发布计划,对产品负责

  • 项目经理(scrum master即SM):负责召开各种会议,协调项目,为研发团队服务

  • 研发团队(team):研发团队则由不同技能的成员组成,紧密协同,完成每一次迭代的目标,交付产品

scrum 的基本流程:

  • 发布计划会议:产品经理收集需求形成user story,并对其进行讲解,对其进行估算和排序,制定出这一期迭代要完成的 story 列表形成产品清单(sprint backlog)

  • 迭代计划会议:项目团队对每一个 story 进行任务分解。分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计

  • 每日站会:每天项目经理召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题

  • 演示会议:迭代结束之后,召开演示会议,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由产品经理整理,形成新的story,下一次迭代改进

  • 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果

十、测试模型(V&W)

(1)V模型

特点

  • 每个阶段独立性强,明确的标注了测试过程中存在的不同类型的测试

  • 左边每一个阶段是右边测试阶段的依据,两者一一对应

缺点

  • 相当于瀑布模型的变种

  • 编码后才进行测试,前期的错误后期才会发现,会失去错误及时纠正的机会

(2)W模型

特点

  • 每个阶段独立性强。软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程

  • 测试一开始就介入,保证前期的问题及时发现和纠正

  • 测试的对象不仅是程序,需求、设计等同样要测试,测试和开发并行

缺点

  • 每个阶段都是串行的过程,上一个阶段完后才进行下一个阶段

  • 因其串行的特单,无法适应需求变化,不支持敏捷开发

 

作者:富春山居_ZYY

原文链接:https://blog.csdn.net/weixin_46103589/article/details/124648884

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。针对web系统的常用测试方法如下:    1、页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候...
            12 12 2724
            分享
          • 去年,公司给四个项目申报了cmmi3认证,cmmi3认证是源自美国的一套标准,即软件能力成熟度模型集成,他不仅考察公司软件研发项目的制度,文件等,还会安排评审官随机对项目参与人员进行提问,根据解答情况进行打分,最后判断是否通过。虽然说现在专门做这些体系认证的机构很多,但是作为测试人员,提前了解一些流程,还有工作内容,是有备无患的。如果公司通过了cmmi3项目认证,不仅可以证明公司软件研发过程的规范性,还对以后的质量提升提供很大帮助和提升方向。首先,需要准备的测试相关文件有哪些呢?测试方向:产品集成检查表,接口完整性检查单,集成测试计划,测试用例,集成测试用例评审报告,产品缺陷跟踪表,测试报告;...
            1 1 11921
            分享
          • 第4步:评估并选择最适合的测试工具工具选择可能非常棘手,因为市场上有数以千计的可用选项。许多团队仅根据其他人的成功来选择他们的工具。但是一种工具对其他人有效并不一定意味着它对您的团队也有效。考虑您团队的特定需求和资源。也就是说,这里有一些问题需要评估和选择最合适的解决方案:你想解决什么问题?确定您要应用自动化测试(Web、桌面或移动应用程序)的AUT以及您需要的功能(用于测试创建、执行、报告等)谁将使用该工具?如果他们是手动测试人员,那么低代码解决方案会更合适。它可以融入您团队现有的管道和工具链吗?寻找具有本机集成的自动化工具,以减少解决方法的时间。它是面向未来的吗?为避免从一种工具转移到另一...
            0 0 2006
            分享
          •   三星被视为高通公司智能手机芯片组的主要客户,这很可能是高通公司最近与这家韩国电子巨头续签使用其骁龙芯片的多年协议的原因。然而,如果一家公司仅仅依赖一个客户就能带来特定季度总收入的 40%,显而易见会引起担忧,但根据 2023 年第四季度的数据,高通公司在这方面就似乎过于依赖三星,如果公司不能实现收入多元化,情况可能会变得更糟。  简而言之,如果三星能够改进其 Exynos 芯片组,使其不再需要高通公司的 SoC,那么情况就会变得十分严峻。  Canalys 公布的数据显示,2023 年第四季度,三星带来了高通骁龙芯片组 40% 的收入。小米稳居第二,占总收入的 17%,但两家公司之间的差距...
            0 0 1008
            分享
          •   在各种各样的公司或岗位上,有着三种人:遵守规则、见识规则、搭建规则的人。  大多数人都处于遵守规则的阶段,也就是执行人员,不论开发、测试等岗位,根据当前的管理体系去熟悉去适应去执行。  小部分人见识过各种各样的规则,这取决于不同公司的规模,为什么大多数公司喜欢大厂背景的人才,就是因为他们见识过完善的制度体系,学习能力快、人员素质高等原因。  最后很少一部分人处于搭建规则,当然搭建规则的人必须有个前提——见识过规则。  每一个公司都有自己的制度流程,从别的地方复制粘贴过来的并不完全能够运行下去,中间会出现各种各样的问题,最后导致断层问题,在不断改进后形成自己的规则体系,使公司更好地运行下去。...
            0 0 1297
            分享
      • 51testing软件测试圈微信