阶段一测试流程与理论
到我碗里来吧 人气:2阶段一测试流程与理论
模块一:软件开发流程与项目管理
1.软件开发流程的概念
软件开发流程:软件设计思路和方法的一般过程,包括对软件先进行需求分析,设计软件的功能和实现的算法和方法、软件的总体机构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作以满足客户的需求并且解决客户 问题,如果有更高的需求,还需要对软件进行维护、升级处理,报废处理。
2.软件开发步骤
需求设计---需求确认
概要设计---各个系统的功能分工,流程图,时序图
详细设计---伪代码
编码---1/3时间,基于详细设计
测试
软件交付
验收
维护
3.软件开发流程的演变
--->传统的瀑布模型(线性工作流程)
--->敏捷开发模型(频繁更新代码)
XP极限编程
SCRUM框架
--->DevOps开发模型()
.一种软件开发的方法,设计软件在整个开发生命周期中哥哥阶段。
.它是一种重视开发人员Dev和IT运维人员(OPS)之间的沟通合作的文化,运动或惯例。透过自动化“软件交付”和“框架变更”的流程
来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
.它的出现是由于软件行业日益清晰地意识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。
QA据其中
DevOps使用场景:
.需求频繁变化
.开发需求敏捷
.测试需要敏捷
DevOps-持续开发
.计划:jira
.编码:Git、svn
.打包:Ant/Maven-pom文件/Gradle
DevOps-持续测试
.在这阶段,开发的软件讲被持续的测试bug
.对于持续测试,使用自动化工作,如Selenium/Appium/Pytest/TestNG等
.在这个阶段,可以使用Docker容器实施模拟“测试环境”。
DevOps-持续集成
.这是支持新功能的代码与现有代码集成的阶段。
.Jenkins是一个非常流行 的用于持续集成的工具。
DevOps-持续部署
.它是将代码部署到生产环境的阶段。
.由于新代码是连续部署的,因此配置管理工具可以快速,频繁地执行任务,
.容器化工具在部署阶段也发挥着重要作用
DevOps-持续监控
.监控性能
.ELK Stack监控工具
DevOps 对发布的影响
.减少变更范围
.加强发布协调
.自动化
CI持续集成(代码集成-自动化部署)CD持续交付
DevOps 包含了CD
模块二:测试流程体系
1.1.传统的测试流程
单元测试、集成测试、冒烟测试、系统测试、验收测试
1.2.常见的软件测试模型
V型、W型、H型
1.3系统测试工作流程和bug管理流程
项目计划-->需求分析-->测试设计-->用例评审-->测试执行-->bug管理-->发布维护
bug管理流程
1.4.测试左移、测试左移
.测试左移
code review
代码审计
单元测试
自动化冒烟测试
.测试右移--产品上线-监控测试
问题反馈-检查-解决-更新
日志查看
log日志
异常警报邮件
指标监控
模块三:测试技术体系
测试种类划分
按开发阶段划分
.单元测试
.集成测试
.冒烟测试
.系统测试
.验收测试
按是否查看代码分类
.黑盒测试
.白盒测试
.灰盒测试
分层测试体系
优点
.单元测试尽量多做,UI级的测试可以少做
.服务测试更方便自动化,可以保证大部分功能
.UI测试更接近于真实用户
1.单元测试
2.服务测试
接口测试定义
(get向服务器请求数据,将请求放在url里,明文传输,不安全,有长度限制)
(post向服务器传递参数,是将请求参数放在表单里,更将的安全,执行效率略低)
.是测试系统组件间接口的一种测试
.主要用于检测外部系统与系统之间以及内部系统各个子系统之间的交互店
.测试重点是要检查接口参数传递的正确性,功能实现的正确性,输出结果的正确性
接口测试内容
.业务功能逻辑:正常场景、异常场景
.边界分析测试:业务规则边界分析、输入输出参数边界分析
.参数组合测试
.异常情况测试:重复提交、并发测试、事务测试、分布式测试、环境测试
.性能测试:响应时间、吞吐量、并发数、扶我去资源使用率
.安全测试:铭感信息是否加密、SQL注入等
接口测试工具
.postman(功能)
.Jmeter(功能、性能)
.loadRunner(性能)
.RebotFramework(hhttp协议)
.Charles
.Python+Requests
.Java+RestAssured
用户界面测试(UI测试)
.静态显示,检点表
.动态测试
接口测试工具
.postman(功能)
.Jmeter(功能、性能)
.loadRunner(性能)
.RebotFramework(hhttp协议)
.Charles
.Python+Requests
.Java+RestAssured
模块四:常用测试平台
1.测用例管理与BUG管理平台
.jira:推荐方案,定制性很强
.redmine:推荐方案,开源,活跃,定制性很强
.testlink:流行的测试用例管理平台,体验不太好
.其他:tapd、云效、禅道、Github、在线协助文档(石墨文档)
.无协作模式:excel、思维导图
2.代码管理平台
.gitlab
.svn
.github:开源项目
.bitbucket:JIRA同一家公司
3.流程管理平台(持续集成管理平台)
.jenkins:持续集成与持续交付的直流平台
.gitlab runner:gitlab的持续交付方案
.github action:github的开源方案
.自建devops平台:企业定时平台,tapd、云效等
模块五;黑盒测试方法论
黑盒测试的方法
1.等价类划分法
.输入域明确:把程序的输入域划分成若干子集
.分类:从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值
.常见分类:有效、无效等价类
2.边界值分析
.经验大多数
.是对边界值的补充
3.错误推测法
4.因果图法
判定表
5.场景法
6.决策树
流程图,清晰的看清楚流程(清晰)
7.探索式测试(测试手法)需求文档不全
测试中进行测试用例的优化设计
黑盒测试、白盒测试
8.正交试验设计法
黑盒测试流程
1.测试计划
2.测试设计--用例设计
3.测试开发--自动化
4.测试执行
5.测试评估
模块六:白盒测试方法论
代码覆盖率
.语句覆盖
.判定覆盖
.条件覆盖
.条件组合覆盖
.分支覆盖
.路径覆盖
.指令覆盖
.方法覆盖
.类覆盖
覆盖率统计的工具
jacoco
精准化测试
.代码调用链与黑盒测试用例的关联
.根据到吗变更自动分析影响范围
.黑盒测试过程中借助代码流程覆盖数据知道探索式测试
.利用线上数据推到有效测试用例
.代码流程分析有覆盖率统计
模块七:测试经典书籍拆分讲解
1.全流程软件测试
2.探索式测试
3.Google测试之道
4.持续交付1.0、2.0
5.不测的秘密----精准化测试代表书籍
直播-测试工程师测试工作实战演练
加载全部内容