测试理论三

上一篇 / 下一篇  2019-07-29 11:58:43 / 个人分类:理论

==========敏捷开发(Agile Development)==========
敏捷体现的是一个字:快 - 在比较短的时期内发布可工作的软件产品
Scrum流程:
客户/市场/高层 提出一些创意/新功能/缺陷,由产品负责人[产品经理]对其进行整理成产品功能列表[产品需求清单],在一个迭代开始之前,产品负责人从产品需求清单中挑选出一个迭代需要完成的功能点,交由开发团队,此时,开发团队和产品负责人一起开迭代计划会,确定一个迭代的详细计划(具体要开发的功能点),并对开发任务进行分解及分配,当完成计划会后,开发人员分别按照计划开发各自负责的任务,在迭代过程当中,项目组每天会开每日站立会议,汇报每天的工作情况及问题,当所有人员完成所有任务之后,团队内部会进行 迭代评审会议,在评审会议中,先由开发人员演示各自开发的功能点,团队成员一起评审,评判迭代是否能够正常发布,如能发布,则在发布之后,团队进行 回顾会议。

三大角色:
    产品负责人/产品经理:需求,发布等相关管理工作
    流程管理员/项目经理:大多数情况下由项目经理或开发组长承担
    开发团队:开发+测试
其他概念:
    版本:与传统开发模式的版本类似
    迭代- sprint:等同于版本
    Product backlog:产品的需求列表(产品经理负责维护)
    Sprint backlog(project backlog):(一个迭代要开发的需求点)
    故事-story:需要开发的功能点
    任务看板-kanban board:将未开始的任务,已开始的任务及已完成的任务分类汇总
    燃烬图- burn down chart:以任务和时间为Y与X轴,绘制每天的任务完成情况,形成具体的图形。
四大会议:
    迭代规划会议
    每日站立会议
    评审会议
    回顾会议

==========软件质量==========
质量的定义:实体的特性对需求的满足程度

软件质量的三个层次:
    符合需求规格
    符合用户显式需求
    符合用户实际需求【显式需求+隐式需求】

影响软件质量的三大因素[软件质量的铁三角]
    技术
    流程
    组织
   问题:你是如何确保你所负责的功能模块的质量的?
             你们项目组是如何确保所测项目的质量的?

三大质量管理体系
    ISO9000:八项质量管理原则 【以顾客为中心,以顾客的需求为导向】
    CMM/CMMI:Capability Muturity Model/ Integration - 能力成熟度模型/集成
        初始级
        可重复级
        已定义级
        已管理级
        优化级
         CMM与CMMI的区别:
        表达方式:CMM阶段式,CMMI可阶段,可连续
        关键过程域不同:第三级的关键过程域
    六西格玛:起源于制造业-摩托罗拉
        核心:百万样本3.4个缺陷

软件质量模型:内部质量与外部质量 - 六大特性,二十七大子特性
  过程质量影响内部质量,内部质量影响外部质量,外部质量影响使用质量
  过程质量由SQA负责
  内部质量:软件研发过程中中间过程产品的质量(SRS,HLD,LLD,CODE等)
  外部质量是指软件做为一个完整的系统运行时表现的各方面质量属性(一般通过系统测试来测度)
  使用质量是用户在真实用户环境中使用该软件时感受的和其目标的复合度
 功能性
    适合性 - 为指定的用户提供合适的功能,如微信发消息
    准确性 - 除了实现所要求的功能,还要正确实现所要求的功能
    互操作性 - 与其他系统进行交互,如微信与相册,照相机交互
    保密安全性 - 保护用户信息数据的能力
 可靠性
    成熟性 - 软件产品为避免由于软件中的错误而导致失效的能力,如指针先定义,后使用,再释放
    容错性 - 在软件出现故障的情况下,软件产品维持规定的性能级别的能力,如集群服务器中某个服务器出现问题,自动由其他服务器承担信息处理
    易恢复性 - 在软件出现失效后,重新恢复到原性能级别的能力,这里可以用恢复时间、恢复期间丢包数等来衡量易恢复性
 易用性
    易理解性 - 用户能理解软件是否合适及如何将软件用于特定的任务和使用环境的能力,如交互信息是否准确
    易操作性 - 用户操作及控制软件的能力,比如Windows菜单
    易学性 - 软件产品使用户能学习使用其的能力,如操作手册,文档等是否全面
    吸引性 - 软件产品吸引用户的能力,界面外观是否美观
 效率
    时间特性 - 即完成用户的某个功能需要的响应时间
    资源利用率 - 软件产品执行其功能时,使用合适的资源数量和类别的能力,例如完成某个功能需要的CPU占有率、内存占有率
 维护性
    易分析 - 软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。(增加易分析性的手段有日志记录。)
    易改变性 - 软件产品使指定的修改可以被实现的能力,如,代码高内聚,低耦合
    稳定性 - 软件产品避免由于软件修改而造成意外结果的能力
    易测试性 - 软件产品使已修改软件能被确认的能力,可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力
 可移植性
    适应性 - 软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段就可能适应不同的指定环境的能力
    易安装性 - 软件产品在指定环境中被安装的能力
    共存性 - 软件产品在公共环境中同与其分享公共资源的其它独立软件共存的能力
    易替换性 - 软件产品在同样环境下,替代另一个相同用途的指定软件产品的能力    

    问题:
          给你一支笔,你怎么测
          给你一个QQ界面,你怎么测
        [回答时注意:可能问的是质量模型]
    给你一个桌子,你怎么安排测试?
    [回答时注意:可能问的是测试流程]


-----------------
SQA组:相当于是立法机构,负责建立、维护、改进企业的开发过程体系
测试组:执行机构,来执行这套开发过程,按照软件工程化的思想来实施项目
SQA:职能是向管理层提供正确的可视化的信息,从而促进与协助流程改进,SQA还充当测试工作的指导者和监督者,帮助软件测试建立质量标准、测试过程评审方法和测试流程,同时通过跟踪、审计和评审,及时发现软件测试过程中的问题,从而帮助改进测试或整个开发的流程等,因此有了SQA,测试工作就可以被客观的检查与评价,同时也可以协助测试流程
测试:执行者,包括 测试计划编写,方案编写,分析,设计,实现,执行,总结等

SQA侧重对流程中过程的管理与控制,是一项管理工作,侧重于流程和方法。而测试是对流程中各过程管理与控制策略的具体执行实施,其对象是软件产品(包括阶段性的产品),即测试是对软件产品的检验,是一项技术性的工作。测试,常常被认为是质量控制的最主要手段。

-----------------

度量
   规模:文档页数,代码行数,用例个数
   工作量:人天[传统开发模式],人时[敏捷开发]
   进度:需求的开始与结束时间,开发的开始与结束时间,测试的开始与结束时间
   质量[缺陷]:缺陷总数,系统测试缺陷数,集成测试缺陷数,不同级别的缺陷数,每个人的缺陷数

TAG:

引用 删除 MRGD   /   2020-04-13 15:58:19
3
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-30  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 3098
  • 日志数: 4
  • 建立时间: 2019-07-29
  • 更新时间: 2019-07-29

RSS订阅

Open Toolbar