【软件测试】概念篇

【软件测试】概念篇,第1张

文章目录
    • 什么是软件测试
    • 软件测试和软件开发的区别
      • 技能要求专业度
      • 软件测试和调试的区别
    • 软件测试岗位
    • 软件测试在不同的公司的定位
    • 一个优秀的软件测试人员所具备的素质
    • 什么是需求
      • 需求来源
      • 实现
      • 需求分类
      • 从软件测试人员的角度看需求
    • 测试用例
    • 什么是bug(软件错误)
    • 开发模型(5个模型)
      • 瀑布模型
      • 螺旋模型
      • 增量模型
      • 迭代模型
      • 敏捷开发模型
    • 测试模型
      • V模型
      • W模型(双V模型)

软件开发:编程
软件测试:验证、手工测试、自动化测试
测试开发:开发测试工具、开发测试脚本、需要编程能力

什么是软件测试

软件测试就是验证软件测功能是否满足用户的需求。最终交付的产品是否和用户本来的需求一致,如果不一致,则需要找出不一致的点。找BUG,发现缺陷
软件分类
1.定制类型(办公类,财务类,系统管理(供应链))
2.流量(用户)

软件测试和软件开发的区别 技能要求专业度

软件研发:技能的要求专业度高,技能要求不广泛
软件测试:技能要求比较广泛,但是专业度不高

 测试接口:soupUI,postman,jmeter
 性能测试:loadrunner jmeter
 自动化测试脚本:Python,java,unittest,TestNg
          Charles,fiddler,appium

薪资
工作环境
压力等多种角度

软件测试和调试的区别

目的:软件测试就是验证软件是否实现了它应该实现的功能(需求);软件调试的目的是软件开发人员验证软件是否实现了他想让软件实现的功能
角色:测试是由开发人员(白盒测试)和测试人员共同完成;调试是由开发人员完成
阶段:测试现在贯穿了整个软件开发的生命周期;调试是在开发阶段。
生命周期:需求-计划-设计-编码-测试-运维

测试贯穿了整个软件开发的生命周期

测试内部的标准:ISO质量认证

软件测试岗位

软件测试工程师:需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等。
测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。
性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。
安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性。
其他:系统测试工程师,嵌入式测试工程师,硬件测试工程师。

软件测试在不同的公司的定位

项目型:项目A,项目B,项目C…每一个项目有一个团队
性能测试团队
自动化测试团队
安全测试团队

一个优秀的软件测试人员所具备的素质

1、综合能力:沟通能力,编程能力,学习能力,文字描述能力(BUG写清楚)
2、自动化开发能力(开发自动化脚本和工具的能力)
3、编写测试用例的能力
4、探索性思维,发散思维
5、兴趣
6、责任感和压力

什么是需求 需求来源

用户,市场, 公司业务人员(软件系统,APP,业务相关) , Boss,甲方(办公软件,定制供应链系统)

实现

开发人员,测试人员,之后上线使用
需求就是实现用户的期望或者满足合同(文档,标准,规范)所需要的条件或者权限

需求分类

需求包含两个方面,用户需求和软件需求
用户需求 一般比较粗略的概括
软件需求 从用户需求转换来的,是用户需求的细化和具体实现细节

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

软件需求是测试人员进行测试工作的基本依据
验证需求,保证需求正确可实现。细化需求,从需求中提炼出一个个的测试项
以用户登录为例
软件测试人员如何深入了解需求?
从需求分析阶段开始介入了解需求
站在用户需求角度

测试用例

测试用例就是向被测试系统发起的一组集合,包含测试环境,测试数据,测试步骤,预期结果,(重要性,优先级, *** 作方式,标题等)

测试点:用正确(已注册)的手机号和密码登录网易邮箱界面,登录成功

测试数据:12345678910 8888888
测试用例:
标题:
测试环境:Chrome 版本99.0.4844.51 PC端Windows系统
测试数据:用户名:12345678910 密码:8888888
测试步骤:
1.在浏览器打开邮箱URL
2.输入用户名和密码
3.点击登录
预期结果:( *** 作完测试步骤后的结果)登录成功

测试用例告诉我们测什么,怎么测
优点:衡量需求的覆盖率(测试用例和需求对比);复用率,借鉴意义;可以用于回归测试;防止遗漏测试需求

什么是bug(软件错误)

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

软件测试的阶段:整个软件开发的生命周期,需求阶段介入(验证需求的合理性和正确性)

开发模型(5个模型)

软件开发的生命周期(软件开发的流程)
需求分析----计划----设计----开发----测试----运行维护

瀑布模型

start–需求分析–计划–设计–编码–测试–End
特点:阶段性强,每一个阶段比较独立;看重前期的需求分析和后期的测试
缺点:测试在编码后才开始介入,导致前期的问题后期才发现,会失去错误补救的机会

螺旋模型

适合于项目庞大,风险大,不是很明确项目
特点:强调每一个迭代的测试质量和风险分析,抗风险能力强
缺点:风险管控人力物力投入很多,成本比较大

增量模型 迭代模型

例如:同一个系统的四个模块 A,B,C,D
增量模型:第一周开发A,B模块;第二周开发C,D模块
迭代模型:第一周先开发A,B,C,D的基础功能;第二周再在第一周的基础之上完全其他的功能
特点:抗击风险能力较强

敏捷开发模型

《敏捷宣言》:

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

特点:轻文档,轻流程,重目标,重产出,拥抱变化

敏捷开发方式:scrum:流程:

角色:
PO (product owner)产品经理,把用户需求转化成user story
SM (scrum master)项目经理,管理整个团队,负责敏捷流程顺利实施,各种会议
ST (scrum team)各种技能的工程师组成,开发,测试, UI等

1、发布计划会议:产品经理收集需求形成userstory,讲解,排出本迭代需要进行开发的userstory形成sprint backlog
2、迭代计划会议:分析用户故事,把userstory分解成一个个的任务,分配开发人员,制定开发计划
3、每日站会:昨天干了什么,遇到的问题,今天的计划
4、产品演示会议:甲方,用户演示产品,PO把不足的地方收集成userstory,下一次迭代改进
5、回顾计划会议:回顾整个迭代过程,把不足的地方找出,在下一次迭代过程中改进,优化敏捷流程

测试模型 V模型

特点:每一个阶段独立性强
左边每一个阶段是右边测试阶段的依据和右边每一个测试阶段一一对应
瀑布模型变种(缺点)
缺点:编码后进行测试,前期的错误后期才发现,会失去错误及时纠正的机会

W模型(双V模型)

特点:每一阶段独立性强,测试一开始就介入,可以保证前期的问题及时发现和纠正,测试和开发并行
缺点:每一个阶段都是串行的过程,一个阶段完了之后就进行下一个阶段,不支持敏捷开发(敏捷:拥抱变化)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/713881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存