一、       生命周期模型

生命周期:软件从生到死的整个过程

生命周期模型:将从生到死所经历过的“各个环节”进行抽象

 

1.       瀑布模型

黑马测试java测试题 黑马测试课程_Scrum

典型阶段:

需求分析:针对用户提出的需求进行整理分析,做出文档《需求规格说明书》(SRS)

作用:主要描述软件应该实现的功能

功能需求:输入、输出(有效、无效)、处理过程、原型(简易界面)、数据

设计阶段:总体设计(概要设计)(缩写-HLD)、详细设计(缩写-LLD)

编码阶段:开发写代码

测试阶段:特点:测试的介入时间晚——代码完成后

 

 

 

2.       V模型

黑马测试java测试题 黑马测试课程_黑马测试java测试题_02

 

特点:本质–瀑布,但是对测试进行细分

测试的阶段划分:

单元测试:开发自行完成,测试对象:代码本身(逻辑–路径)简:代码逻辑

集成测试:测试单元之间的接口(是否吻合)——接口测试简:接口

系统测试:融合所有的软件、硬件、数据、网络环境等一起进行测试简:系统

验收测试:客户进行的测试简:客户完成

内部验收:公司内部人员

客户验收:客户完成

 

阿尔法(α)测试:对象——软件的α版本,对内(内部员工,潜在客户)可控

贝塔(β)测试:对象——软件的β版本,对外不可控

 

参考依据:

单元——详设

集成——概设

系统——需求规格

验收——客户需求(原始需求)

 

需求:显示需求(客户提出)、隐式需求(分析、发掘)、规范性需求(行业规范)

 

《GBT 15532-2008 计算机软件测试规范》对测试阶段的划分:

单元、集成、(配置项)确认测试、系统、验收

 

 

3.       敏捷开发

(1)      敏捷宣言

·个体和互动高于流程和工具

·工作的软件高于详尽的文档

·客户合作高于合同谈判

·响应变化高于遵循计划

 

 

(2)      Scrum



黑马测试java测试题 黑马测试课程_测试用例_03

 


Scrum: Scrum无对应中文翻译

Agile:敏捷

Sprint:原意为冲刺,Scrum中的Sprint无对应中文翻译,指一个迭代

Iteration:迭代

Sprint Review Meeting:Sprint评审会议

User Story: 用户故事,指一条需求

Backlog:待办列表


Lean:精益

Iterative:迭代式的

Agile Manifesto:敏捷宣言

Empirical:经验性的

Empirical Process:经验性过程

Transparency:透明性

Inspect and Adapt:检视与调整

Sprint Goal:Sprint目标

Product Owner :产品负责人简称PO

Scrum Master :简称SM, 一般不翻译

Development Team : Scrum开发团队

Scrum Team:指PO,SM和开发团队

Scrum Roles:Scrum角色,指PO,SM和开发团队

Emergent :涌现的

Product Backlog:产品待办列表,指需求清单

Sprint Backlog:Sprint待办列表,指Sprint任务清单

Sprint Burn-down Chart:Sprint燃尽图,团队用于做Sprint内的进展跟踪

Release Burn-down Chart:  发布燃尽图,产品负责人做发布进展跟踪

Sprint Planning Meeting: Sprint计划会议

Daily Scrum Meeting:每日站会

Sprint Retrospective Meeting: Sprint回顾会议

Product Backlog Refinement: 产品待办列表梳理

Product Backlog Item: 产品待办清单条目,简称PBI

Story Point:衡量用户故事的工作量大小的计量单位

Velocity: 团队速度

Sprint Task: 实现一条需求需要做的一个技术任务

Definition of Done: DoD,完成的定义

Stakeholders:干系人

Artifact :工件

Estimation :估算

Collaboration:协作

Scaling Scrum:大规模Scrum


 

 

二、       测试过程

4.       双V模型


黑马测试java测试题 黑马测试课程_Scrum_04

以系统测试举例:

特点:测试介入时间早(针对瀑布)

测试准备阶段:前置进行,和开发并行同步

计划阶段:(经理)编写《测试计划》:主要包括工作任务安排、风险、成本等

参考《GBT 9386-2008  计算机软件测试文档编制规范》

设计阶段:编写《测试方案》(包括:环境搭建、数据准备、用例设计等内容)

实现阶段:编写《测试用例》

执行阶段:执行《测试用例》、提交《缺陷报告》、进行回归测试、编写《测试报告》

 

回归测试:时间:新迭代(版本)后,要进行回归测试

目的:验证已有功能的稳定性–重复率高—自动化完成

验证缺陷修复是否成功

策略:完全回归:执行以前的全部测试用例——理想态

选择(部分)回归:只回归发现Bug的测试用例——实际

选择部分(重要、优先级高、使用频率高)测试用例进行回归

 

冒烟测试:时间:新迭代(版本)后,先进行冒烟测试

目的:验证新版本的基本功能是否实现

结果:实现:进入“转测试”阶段(华为)

未实现:打回版本给开发

 

 

 

三、       测试分类

 


按测试阶段分

按测试方法分

按动静分

按人工自动分

单元:内部逻辑

黑盒:代码不可见

动态测试:代码是否被运行–是

如:测试个输入

人工测试

集成:接口

灰盒:之间(过时)

系统:完整系统

白盒:代码可见

静态测试:代码是否被运行–否

如:代码走读、检查文档

自动测试–依靠工具

验收:客户(αβ)

 


 

 

 

四、       质量相关

 

测试的定义(目的):

   1、定义没有统一标准

   2、早期:强调发现错误(找Bug)——测试部

   3、现在:强调对质量的把控—— QA、质量保证部

 

质量:强调全面质量管理的理念(全公司的人都对质量负责)

 

定义:《ISO9000国际质量标准》

       ISO 国际标准化组织

 

黑马测试java测试题 黑马测试课程_迭代_05

 

评价软件质量:

找到被测软件的固有质量特性,权重,打分,评价;

 

软件固有特性参考:《ISO9126软件质量模型》

六大特性,27个子特性——指导测试的方向

 

黑马测试java测试题 黑马测试课程_迭代_06

如何从测试角度保证软件质量:

1、保证软件必须满足用户需求(尽量站在客户的立场);

    2、保证软件符合各类行业规范

    3、缺陷分析

如:按模块统计缺陷数量,调整后续工作测试重点

按产生原因统计,将缺陷原因反馈到开发,下个项目同样问题不累犯(循环)