敏捷模型:
增量迭代
小步快跑
需求频繁变化用DevOps模型
持续集成CI
持续交付CD
DevOps可以是持续交付下的一个产物,持续交付的成果直接汇入DevOps模型
部署架构和业务流程类似,系统模式对应系统架构,业务数据对应业务角色
需求分析:
明确测试范围、功能点、业务流程、输出结果、异常流程、预估测试需要的时间和资源。
项目管理与跨部门沟通合作
系统测试阶段
活动:1.测试环境搭建
2.补充测试数据
3.功能测试
4.自动化测试
产出:1.系统测试报告
2.缺陷报告
与研发沟通
在分析需求阶段,在测试用例编写阶段,在测试过程中,在线上监控发现bug时
JIRA是常用软件
基本概念:项目、问题(核心概念)、字段(问题的属性)、工作流描述状态、视图
管理测试用例流程:
1.创建测试用例管理项目
2.录入用例
3.测试用例状态转化
管理Bug流程:
1.创建Bug管理项目
2.从用例关联到Bug
3.在项目中录入Bug
4.Bug状态转化
测试用例:为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品是否满足某个特定需求的文档
V模型(测试模型基础):
需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试
W模型明确了测试与开发的并行关系
H模型:把测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试活动清晰地体现出来。
冒烟测试:对软件基本功能进行测试
回归测试:1.对改完bug的程序进行测试
2.老功能回归验证
重点系统测试:
需求分析、测试计划、测试设计、用例评审、测试执行、BUG管理、发布维护
BUG管理流程
测试左移和测试右移:让测试有更多的主动权
左移:往测试之前的开发阶段移,在软件开发周期早期就开始介入,对代码进行测试,从发现bug到预防
质量保障手段:
代码评审(偏人工)、代码审计(有工具)、单元测试、自动化冒烟测试、研发自测
右移:往发布之后移,产品上线后进行线上监控
方法:闭环的线上问题反馈-检查-解决-更新流程
更便捷的日志查看、回传服务
丰富有效的log、便于问题的快速定位
丰富的监控指标(例如业务异常点指标)
业务监控(如短信发送等)
关键指标每日监控(服务器指标)
生产数据监控(警报)
软件测试分类:
按开发阶段分类:单元测试、集成测试、系统测试、验收测试
其中系统测试还可以分类:功能测试、兼容性测试(在不同软硬件下都能使用)、性能测试(响应时间、稳定性)、安全测试(熟悉协议、路由器。防火墙等等)
验收测试:a测试,内测版本,在开发环境中去测,去模拟真实用户
β测试:公测版本,在实际环境中用户做的测试
按是否查看代码:白盒测试:研究产品内部的源代码和程序结构,单元测试就是白盒测试的一种
黑盒测试:不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只注重于软件的输入数据和输出数据
灰盒测试:两者结合
按测试执行方式:静态测试:不运行程序
动态测试:运行程序
是否手工执行:手工测试和自动化测试
其他分类:冒烟测试:基本功能
回归测试:确认是否改好,老功能是不是还好
随机测试:操作随机生成的
探索性测试:测试思维
分层测试体系:(解决自动化成本太高的问题)
70%单元测试、20%服务测试、10%用户界面测试
单元测试框架:Java:JUnit,TestNG;Python:unittest,pytest
接口测试:接口:位于复杂系统之上的能简化任务的东西
是针对软件对外提供服务的接口的输入输出进行测试,检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性
黑盒测试:
等价类划分法:不用考虑程序的内部结构,只需要考虑程序的输入规格,将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性,把所有可能输入的数据,划分成了若干个子集,然后从每一个子集当中选取少数具有代表性的数据作为测试用例。
有效等价类:符合《需求文档》,输入合理的数据集合
无效等价类:不符合,输入不合理
等价类设计步骤:
1.先划分等价类:找出所有可能的分类
2.确定有效等价类:需求中的条件
3.确定无效等价类:与条件相反的情况,再找到特殊情况
4.从各个分类中挑选测试用例数据
等价类总结:长度、类型、组成规则、是否为空、是否重复、是否去除空格
边界值分析法:故障往往出现在定义域或值域的边界上,是对等价类划分法的补充,测试用例来自等价类的边界
上点:边界上的点,离点:离上点最近的点,内点:在输入域内任意一个点,选取正好等于、刚好大于或刚好小于边界值作为测试数据
边界点划分规则:
如果规定了输入域的取值范围:选取刚好在范围边界的点、刚好超过边界的点
如果规定了输入值的个数:最大个数、最小个数、比最小个数少1、比最大个数多1
如果规定了输入是一个有序的集合:选取集合的第一个元素、选取集合的最后一个元素