7月份考过ISTQB FL后,一直想总结一下它的知识体系,今天打算完成这件事情。
写作大纲如下:
一、ISTQB概况
ISTQB,全称International Software Testing Qualification Board。其培训和认证体系分为三个级别:
目前只能报考前两个级别的考试。
二、ISTQB CTFL的知识体系
从ISTQB整个认证体系的结构大概就能够看出软件测试所涉及的知识域(包括广度和深度),因此对于从事软件测试工作的我们来说,对于完善自身的知识体系和职业发展来看,都有很高的参考价值。里面包含的内容但凡从事软件测试的人,大概都会听说过,实际工作中碰到的问题,里面很多也都给出了一些实践建议。体系的好处,就是能够给人一个系统化的、全局的视角,将自己实际从事的工作和掌握的知识与之对比,找到自己目前处在什么水平和不足,接下来的努力方向在哪里,帮助我们少走弯路。
关于CTFL,一共有六个部分:
关于CTAL和CTEL,由于我还没有考,计划明年考完之后再补上那部分的知识总结
三、软件测试基础
1.错误(Error, Mistake)、缺陷(Defect, Bug, Fault)和失效(Failure)
总结一句话:人犯错导致程序缺陷,Tester通过测试活动发现缺陷提交bug,Developer根据bug定位并修复缺陷改正错误。测试的本质就是发现缺陷
2.软件测试的总体目标
软件开发是有生命周期的,在生命周期中不同的阶段,测试会有不同的目标:
3.软件测试的7个基本原则
4.基本的测试过程
基本的测试过程主要由以下活动组成:
4.1测试计划和控制
测试计划:1)识别测试任务。2)定义测试目标。3)为实现目标和任务确定测试活动。一般测试计划开始于软件需求分析结束阶段
测试控制:持续进行的活动,通过对测试实际进度和测试计划的对比,报告测试的状态,根据需要采取纠正措施或更改原计划
产出:测试计划、日常测试报告
4.2测试分析和设计
将概括的测试目标转化为具体的测试条件(即测试项)和测试用例的一系列活动:
产出:确定测试条件、测试数据、测试环境、测试条件和需求的映射,只需大方向上的东西,不用具体实现
4.3测试实现和执行
主要包括:测试规程和脚本的设计、测试环境搭建、运行测试(即实现、准备、执行)
实现包括:
准备包括:
执行包括:
产出:测试用例、测试环境、测试执行记录、bug记录
4.4评估出口准则和报告
产出:测试报告
这里定义的测试结束活动在实际工作中可能会有所裁剪。
5.测试的心理学
独立测试,即开发和测试分离开来,单独进行。独立测试可以应用于任何测试级别。可以从低到高定义不同级别的独立:
开发是建设性思维,测试是破坏性思维,如何避免二者的冲突?
四、软件生命周期中的测试
1.软件开发模型
软件开发模型是软件开发所依据的方式和过程。软件测试不是孤立存在的活动,而是存在于软件开发生命周期中。因此需要了解软件开发模型,根据不同的模型,选择不同的测试方法。
V模型(顺序开发模型)
迭代-增量开发模型
生命周期模型中的测试
2.测试级别
对于各个测试级别需要明确的内容:测试目标、测试依据、测试对象、典型缺陷和失效、对测试用具的需求、测试工具的支持、专门的方法和职责
1)组件测试/单元测试
2)集成测试
3)系统测试
4)验收测试
3.测试类型
1)功能测试
目前很多公司所做的测试基本都会包含功能测试
2)非功能测试
公司中做的较多的就是性能测试
3)软件结构/架构测试(结构测试)
4)与变更相关的测试(再测试和回归测试)
4.维护测试
五、静态技术
1.静态技术和测试过程
2.评审过程
3.静态分析的工具支持
(未完待续)