一、行业介绍
1.软件测试定义:在限定条件下对产品软件进行的操作,发现产品错误,衡量质量,使产品满足设 计要求进行评估的过程。
2.发展现状:
- 开发:测试=4:1或5:1,就业竞争小,起点高,待遇好
3.职业发展:
- 初级测试工程师:借助书籍、网络操作(会编写用例,功能性测试)
- 中级测试工程师:1-2年工作经验,熟练编程语言,操作系统,网络数据库等技能(会编写自动测试脚本,性能测试)
- 高级测试工程师:3-4年工作经验,业务熟练,掌握多项技能,负责同级评审,可以充当初级人员顾问(熟练操作UI测试,接口测试)
- 测试组负责人:4-6年工作经验,精通职业技能,管理1-3名测试人员,负责工作分工,成本估算(会操作自动化平台)
4.职业发展方向:
- 自动化测试工程师
- 白盒测试工程师
- 性能测试工程师
5.薪资调查: 月薪初级8k,中级10k,高级30k
二、行业背景
1.软件行业迅速发展,软件缺陷容易造成巨大损失,软件测试可以减少风险,节省成本;而且缺陷 发现的越早,修复所需要的成本和代价就越小。其问题主要来源于编制说明书和编写软件设计的 过程当中
2.融入团队
3.软件工程的目的:成本、进度、质量
4.软件测试的内容(测试点):
- web端:界面、功能、性能、易用性、安全性
- app端:界面、功能、性能、易用性、安全性、弱网、 中断、兼容
5.测试环境:
- 硬件:笔记本、台式机、服务器
- 软件:windows7、windows8等 linux、Mac 浏览器(IE、谷歌、火狐)
- 网络:局域网、互联网
6.公司流程:
- 立项
- 由需求人员编写需求文档,以确定产品功能
- 由需求人员、项目经理、开发、测试共同进行需求评审,派发工作
- A.开发人员编写详细设计概要 B.测试人员(组长)编写详细测试计划
- A.开发人员在开发环境上编写代码 B.测试人员编写测试用例
- 开发人员自测
- 开发人员提测
- 测试、开发、需求进行用例评审
- 冒烟测试【主流程测试】
- 功能测试
- 测试向上级提交bug,用禅道记录bug并将bug指派给对应的开发人员
- 进行回归测试,验证前版本bug修复情况并测试是否有新bug
- 在准生产环境(模拟线上环境)上运行程序并且由甲方、需求、项目经理、开发和测试 共同验收产品
- 产品上线(后期运维服务)
7.软件测试的分类:
- 按阶段划分:单元测试、集成测试、系统测试、验收测试
- 按是否运行程序划分:静态测试、动态测试
- 按是否查看源代码划分:
- 白盒测试、黑盒测试(分为功能测试和性能测试。
- 功能测试包括:界面测试、逻辑功能测试、易用性测试、兼容性测试和安全测试;性能测试包括一般测试 、稳定性测试、压力测试、负载测试时间性能测试和空间性能测试)
- 黑盒测试不要求看代码,只需测试软件是否满足功能需求即可。
- 白盒测试不仅要求软件满足功能需求,更要求内部的代码编码符合逻辑顺序。
8.软件开发生命周期模型:
V模型
用户需求--需求分析--概要设计--详细设计--
--软件编码
验收测试--系统测试--集成测试--单元测试--
- 优点:结构清晰、便于控制开发过程;同时包含单元和系统测试。
- 缺点:测试、开发工作串行;无法对前期缺陷进行修改
W模型
- 优点: 伴随软件整个生命周期;开发测试并行进行
- 缺点:对才做人员要求较高,实行困难; 较为依赖前期文档资料
9.部门常识:
- 总监【项目经理 a(开发组、测试组)项目经理b(开发组、测试组)】
- 总监【项目经理a(开发组1、开发组2)项目经理b*(测试组1、测试组2)】
10.测试工具:
- bug管理工具:禅道
- 自动化:python+selenium ,python+appnium pytest ,
- 性能测试工具loadrunner
- 抓包工具fiddler
- 接口工具postman
- 录制脚本bodyboy
- 云测 腾讯云
- 命令linux
- 数据库myql
- 语言python
补充:PM项目经理 RD开发 QA测试 OP管理 PRD产品说明书
软件测试计划的编制
- 测试用例的设计 测试用例的覆盖率
- 测试用例的评审,测试时间的估计和工作分配
- 测试资源的申请与分配,测试环境的搭建
- 规划测试过程中测试和开发人员的比例
- 规划整个测试过程的流程和时间
- 预留处理紧急事件的时间和方法