1.敏捷模型
敏捷模型是一种以人为核心,迭代,循环渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的输出都经过测试,具备可集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。主流的敏捷开发方式是Scrum,Scrum由产品负责人、敏捷教练和研发团队组成,产品负责人整理用户故事,定义其商业价值,制定发布计划,对产品负责,敏捷教练负责召开各种会议,协调项目,为研发团队服务,研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
2.质量模型
GB/T 25000.51-2016将质量模型总结为功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性、可移植性八个方面。
3.测试的大致分类
单元测试、冒烟测试、系统测试、回归测试、app自动化测试、web自动化测试、接口测试、性能测试、安全测试。
4.测试工程师大致分类
大致分为业务测试工程师、回归测试工程师、系统测试工程师、软件测试工程师、算法测试工程师、测试开发工程师、大数据测试工程师、自动化测试工程师。
5.测试可以大致步骤
分为五个步骤:分析(需求)、计划(测试点)、设计(测试用例)、实现(编写脚本)、执行(运行脚本)。
6. 测试用例设计方法
等价类划分法、边界值分析法、判定表法、流程分析法、错误猜测法等。
7.常用测试框架
unittest和pytest。unittest是Python内部自带的一个单元测试的模块,unittest具备完整的测试结构,支持自动化测试的执行,对测试用例集进行组织,并且提供了丰富的断言方法,最后支持使用测试报告工具生成报告。pytest是Python语言中一款强大的单元测试框架,pytest需要额外安装,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中,pytest比unittest更灵活。
8.常用测试报告工具
HTMLTestRunner、BeautifulReport和Allure。HTMLTestRunner的报告模板比较落后。BeautifulReport的界面相对简洁直观。Allure则可以生成丰富美观的报告。
9.日志管理工具logging
logging是python内置的一个模块,可以用于记录运行日志;日志可以在程序出现问题后让开发人员或运维人员快速定位问题所在,在开发调试、定位故障、了解程序运行情况等方面发挥重要作用。
10.WEB自动化测试库selenium
selenium元素定位:id、name、class name、tag name、link text、partial link text、xpath、css selector;xpath和css selector是万能定位方法,支持绝对/相对路径定位、单/多属性定位、模糊定位;自动化测试LOVE四步法:定位(Locate)、操作(Operate)、断言(Verificate)、异常处理(Except)。
11.APP自动化测试库appium
支持iOS平台和Android平台上的原生应用,WEB应用和混合应用。
12.接口测试
常用接口测试工具有apifox、postman和jmeter,接口文档工具swagger,接口数据工具mock;进行接口自动化测试常用的库是requests,如果需要进行数据库校验则还可以用到sqlalchemy这个库,如果数据库并非部署于本地则还需要paramiko和sshtunnel这两个库来连接跳板机或者服务器。
13.性能测试
常用性能测试工具有loadrunner和jmeter。
14.测试框架
数据驱动、关键字驱动和页面对象模型(Page Object Model, POM)。数据驱动框架DDT(Data Driver Test),关键字驱动框架RobotFramework,POM以WEB为单位维护对象。
15.自动化测试脚本录制工具Airtest
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具,可用于游戏和WEB的自动化测试。
16.持续集成/持续部署(CI/CD)
CI/CD工具主要是jenkins平台,通常还会配合Docker容器进行使用。
17.编程语言
除了掌握基础的Python语言,涉及高并发的网页测试还需要掌握Go语言,涉及硬件相关的测试还需要掌握C/C++语言,涉及金融系统或者大数据产品的测试还需要掌握Java语言。
18.SQL语句
数据库校验通常是测试中必不可少的一个环节,熟悉SQL语句的使用可以提高信息校验效率,进行接口自动化时也需要使用SQL语句来获取目标信息进行断言;MySQL常用的客户端有Sequel Pro、Navicat和SQLyog等。
19.Shell命令
无论Windows还是Mac,都会有相应的命令终端,在终端上执行Shell命令可以进行文件、目录以及权限等相关操作,掌握这些基础Shell命令可以在工作中提高效率。
20.SSH的使用
SSH (Secure Shell)是一种加密的网络传输协议,在终端上使用ssh命令可以建立安全的会话,例如连接跳板机或者服务器。
21.GIT的使用
GIT是一个版本控制系统,在终端上使用git命令可以对自己的各种资源进行版本控制;基于git实现的平台有gitee、github和gitlab,gitee是由开源中国社区推出并同时面向个人和企业的代码托管平台,github是一个主要用于个人开源共享的代码托管平台,而在公司内部使用比较频繁的代码托管平台是gitlab。
22.Confluence平台
Confluence是一个公司内部用于知识文档管理和共享的平台,有利于员工进行创作、协作和讨论等。
23.Jira平台
Jira是一个项目与事务跟踪工具,被广泛应用于客户服务、需求收集、敏捷管理、流程审批、项目跟踪、任务跟踪和缺陷跟踪等工作领域。
24.用例设计和管理
使用Xmind进行用例设计和管理有清晰明了和简单高效的特点。
上述每个知识点都需要深入学习和掌握才算得上是测试入门,有错误的地方请大家积极指出,谢谢~
版权归原作者 embracestar 所有, 如有侵权,请联系我们删除。