质量测试必知必会
测试人员必知必会的100个知识点
今天开始博客记录自己入行测试的一些经验和总结,希望能和大家分享、讨论,提升测试能力,另外对于测试来说,圈子很重要,非常需要一群志同道合、积极向上的从业朋友、伙伴一起,为了测试目标努力。
100个知识点梳理目的
很多从事IT行业进行测试的小伙伴可能是开发转测试 、可能是误打误撞进入测试行业,也可能毕业时测试入门低,本着先就业,后择业的初衷,一干就一直干的情形。以上场景,有的是进行了体系化学习的,也有的是没有的,每天在重复测试点击或这自动化的工作之中,测试从计划制定、策略制定、案例编写、案例执行、BUG管理、质量提升、效率管理等方向需要有一定的理论基础的,否则后面发展有些乏力,因此通过汇总一些重要的知识点,后再回根据这些重要知识点,以点带面的全面思考如何测试、如何成长、如何适应行业发展要求。
1、软件测试的定义
使用人工操作(手动测试)或者软件自动运行的方式(自动化测试)来检验软件是否满足用户需求的过程。
只熟悉系统,只人工操作的能力不能满足现公司对测试岗位的能力要求,还要了解软件自动化相关知识,同时随着行业发展,测试的工作目标也不单纯只是满足用户需求,还要考虑性能、可用、易用等综合因素,另很多公司也会将质量相关工作纳入测试范畴。
2、软件测试的发展
- 阶段1:软件工程软件测试起步(1868)
软件危机爆发
- 阶段2:测试目的是“证实”(1975)
证明软件工作正确的活动
- 阶段3:测试的目的是“证伪”(1979)
发现错误而进行的活动
- 阶段4:测试需要‘缺陷预防”(1983)
测试是以评价一个程序或者系统属性为目标的任何活动,测试对软件质量度量,预防缺陷
- 阶段5:TMM/TCMM,测试体系化(20世纪90年代)
测试成熟度模型、测试能力成熟度模型
- 阶段6:软件全生命周期测试(系统的软件测试)
为了度量和提高软件质量,覆盖工程设计、实施、维护的整个生命周期
3、软件产品质量模型
ISO25010软件质量国际标准
1、功能适用性:正确、完整、适当
2、安全性
3、可靠性:容错、可靠、可恢复
4、易用性
5、效率
6、可维护性
7、兼容性
8、可移植性
4、质量管理三套体系
1、预防体系
- 培训:不断提升技术、管理能力
- 流程化:通过流程、制度、规范将经验和总结固化下来
- 复用性:尽量复用公共模块、代码,减少问题发生
2、检查体系
- 评审
- 过程检查
- 指标检测
- 测试:单元、组装、继承、接口、功能、端到端;黑盒、白盒
3、补救体系
- 回滚
- 发布方式
5、测试类型分类
- 功能测试
- 可用性测试
- 兼容性测试
- 安全性测试
- 性能测试
- 可靠性测试
对于测试来说 ,这六个测试类型差异都很大,需掌握不同的工具和技术,对于测试全栈,如果能够深入,也是有一定技术门槛和能力要求
6、开发模型
掌握开发模型很重要,测试一定要根据开发模型制定测试策略、方案等
- 瀑布模型
按照用户需求、需求分析、设计、编码、测试、发布及运行维护方式
测试是整个流程中的一个环节,存在严重后置,测试资源是否充分利用也是一个不能忽略的考虑点
- V模型
测试活动分类,研发活动对应测试活动,进行针对性测试,用户需求对应验收测试,需求分析对应系统测试,概要设计对应集成测试,详细设计对应单元测试
测试更加针对性,但是依然存在测试活动延后,测试介入较晚问题
- W模型
将测试活动分布到整个研发周期,在分析阶段,测试开始进行案例编写、设计阶段进行
在V模型的基础上,在对应阶段,提前进行设计,增加单元测试设计、集成测试设计、系统测试设计、验收测试设计活动
强调了过程中的设计,测试活动是一个严谨工作,过程评审,资产积累一定要重视
- 迭代模型
大型项目分为多个迭代,每个迭代分为多个小项目,每个项目都包含用户需求、需求分析、设计、编码、测试、部署动作,通过一次次迭代,交付用户最终产品 - 敏捷模型
不设置deadline,常用Scrum模式,通过Sprint BackLog方式管理项目范围,测试要进行左移、右移。
团队文化、组织架构是敏捷的基础,过程中要识别李逵和李鬼,真敏捷还是假敏捷也不应有色识别,解决问题就是好的模式。了解到google、facebook也没有推行敏捷测试,只是公司文化的一些内容和敏捷思维如出一辙,敏捷虽然火热,但敏捷不是目标,需从根本出发,正视问题,敢于解决问题。