软件测试1---概念

  • 为什么要做软件测试?
    这个问题的回答比较广泛,首先我们要明白测试是做什么的?要做哪种测试?怎么看待测试?这个都是根据个人所理解或者所长来决定的,没有标准答案;
    比如从
    (1)思维模式:测试要具有逆向思维,发散性思维;
    (2)兴趣:要有兴趣
    (3)性格方面:比如说好奇心,成就感,敏感,不浮躁,善于怀疑等方面
    (4)能力:快速学习的能力,沟通能力,文字能力,开发能力等;
    (5)责任感和压力
  • 什么是软件测试?
    软件测试就是在需求正确的前提下,验证软件的功能是否满足用户的需求,目的就是在保证和提高软件的质量,给客户交付一个高质量、高可用度的软件
  • 软件测试和开发的区别
    1、首先要说调试和测试的区别
    (1)目的不同:调试是找到问题并解决,测试是发现问题;
    (2)参与角色不同:测试主要由测试人员和开发人员完成,黑盒测试主要由测试人员完成,单元/集成测试主要由开发人员完成,调试由开发人员完成;
    (3)执行阶段不同:测试一般贯穿整个软件开发周期,调试一般在开发阶段;
    然后从以下几个方面说:
    (1)难易程度:开发的广度比较小,专业度高,测试广度答,专业度低;
    (2)技能要求:测试要求更加广泛:业务能力,设计和架构能力,测试手段和工具使用,用户模型和理解,编程能力;
    (3)两者工作环境类似;
    (4)测试一般比研发轻松,但是敏捷模式下差距不大,产品发布前压力比较大;
  • 什么是缺陷(bug)
    bug就是
    (1)在存在需求规格说明书并且正确的前提下,和需求规格说明书不匹配的;
    (2)没有需求规格说明书不满足最终用户的合理期望的;
  • 什么是需求?
    需求就是满足用户期望和规定的合同(标准,规范,流程)所需要的条件和权能;
    需求包含用户需求和软件需求,用户需求简单来说就是用户需要的,软件需求是对用户需求的一个分析,形成比较详细的需求实现文档,又叫功能需求;
  • 什么是测试用例?
    测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包括标题,测试环境(测试设备,测试系统)、操作步骤、测试数据、预期结果,重要性等要素
  • 软件生命周期
    软件生命周期是6个阶段:需求分析、计划、设计、编码、测试、运行维护;
  • 开发模型与测试模型
    1、五种开发模型:
    (1)瀑布模型:具有软件生命周期的前五个阶段,适合项目需求变更小一些的情况,不能频繁的变更,由于它是串行的,bug发现的时间比较晚;
    (2)螺旋模型:采用渐进式的开发模式,适合规模大,复杂度高,风险大的项目,但项目时间比较长,它的缺点是过度关注风险,人力成本比较高,时间长,项目进度可能会延期;
    (3)增量、迭代(这两个放在一起):增量是逐块建造,迭代是反复求精,主要是为了降低项目风险;
    (4)敏捷:敏捷宣言的核心是:轻文档,轻流程,重目标,重产出;
    敏捷开发中scrum的流程
    1》产品负责人(PO)整理一个个user story(用户故事),形成product case;
    2》发布计划会议:PO会把user story 评审,对user story进行整理排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog;
    3》迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计(一般user story不超过一周);
    4》每日站会:每条scrum master召集站立会议,团队成员回答昨天做了什么,遇到的问题;今天计划做什么
    5》演示会议:迭代结束之后,召开演示会议,相关人员受邀参加,团队负责向大家展示本次迭代取得的成果,期间大家的反馈记录下来,由PO整理形成新的user story;
    6》回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,以达到持续改进的效果;
    2、软件测试模型
    (1)V模型
    如图:
    在这里插入图片描述
    单元测试和集成测试应该检测程序的执行是否满足软件设计的要求,系统测试系统功能、性能的质量特性是否达到系统要求的指标,验收测试检测是否满足用户或者合同的需求;
    V模型是为了改进软件开发的效果,是瀑布模型的变种;它的优点是明确标注了测试过程中的不同测试类型,清楚地描述了这些测试阶段和开发过程期间各个阶段的对应关系;它的缺点在编码之后进行测试,发现错误时间较晚,不利于前期风险的控制;
    测试人员参与的阶段
    1、需求分析与系统设计阶段:了解需求,编写测试计划;
    2、编码阶段:测试人员编写测试用例;
    3、单元测试阶段(模块内部测试):白盒测试工程师或者研发工程师对模块中的代码进行测试;
    4、集成测试阶段(模块间测试,是灰盒测试):白盒测试工程师或者研发工程师对模块之间集成或软硬件的集成;
    5、系统测试阶段:测试人员负责:搭建环境、数据准备、执行测试、缺陷管理、编写测试报告;
    6、验收测试阶段:测试人员配合用户完成验收测试,对用户进行软件使用的指导培训;
    (2)W模型
    如图:
    在这里插入图片描述
    W模型由两个V模型组成,分别代表开发和测试,图中可以看出测试和开发是同步进行的,它的流程是:用户需求–需求分析与系统设计–概要设计–详细设计–编码–单元测试–集成测试–验收测试–单元测试设计–集成测试设计–系统测试设计–验收测试设计–集成–实施–交付;
    它的优点是介入的比较早,可以尽早发现错误,降低风险,减少成本,提高质量,但它的缺点是不能适应用户需求变化频繁的项目,需求、设计、编码等被视为串行的,测试与开发是线性的前后关系,上一阶段完全结束,才可以开始下一个阶段工作;无法支持敏捷开发模式
    测试人员参与的阶段
    1、用户需求阶段:了解用户需求,为验收测试做准备;
    2、需求设计分析和系统设计阶段:分析需求,编写测试计划,为系统测试做准备;
    3、概要设计阶段:搭建测试用例框架,细化测试计划,并为集成测试做准备;
    4、详细设计阶段:细化测试用例框架,并为单元测试做准备;
    5、编码阶段:编写测试用例,并进行单元测试;
    6、集成阶段:提取集成测试用例,进行集成测试
    7、实施阶段:测试人员负责:搭建环境、数据准备、执行测试、缺陷管理、编写测试报告;
    8、交付阶段:测试人员协助用户完成验视,对用户进行软件使用的指导培训;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值