测试的定义:
在软件中找存在的bug
出现bug的地方以及找到bug的方式有:
- 肉眼看到(界面UI)
- 系统资源使用率 cpu 内存 网络 电量
- 服务器端
- 访问的方式/数据库的
判断bug的依据:
- 需求文档 原型图
- 不相符合的错误类型
- 难以理解 不易使用 运行缓慢
bug出现的原因
20%来源于代码80%需求不明确 产品需求经常变更
4.bug出现的原因
20%来源于代码 80%需求不明确 产品需求经常变更
5.产生bug的原因归纳为:
(1) 需求解释有错误;
(2) 用户需求定义错误;
(3) 需求记录错误;
(4) 设计说明有误;
(5) 编码说明有误;
(6) 程序代码有误;
(7) 数据输入有误;
(8) 测试错误;
(9) 问题修改不正确
6.测试流程 (面试题)
我们一般在项目进行开立项会【产品经理 项目经理 开发人员 测试人员】的时候进行参与,讨论需求并提出建议,在立项会中制定需求文档,由ui设计原型图,开发根据需求文档进行编码,我们测试会根据需求文档进行编写 测试计划,根据模块的(颗粒度)划分并编写测试用例以及对用例的评审,开发结束侯测试对主要功能进行冒烟测试,执行测试用例,提交bug 开发进行修改,修改成功侯关闭bug,进行回归测试,在上线前进行测试总结。
《需求文档》/《规格说明使用书》
《测试计划》 一般由于测试组长或者是测试经理编写 (参与)
《测试用例》 根据模块划分/根据测试功能/性能/自动化进行划分
用例评审会【测试人员 测试组长/项目经理 产品经理】: a:组内评审
【测试人员 测试组长/项目经理 产品经理 客户】: b:组外评审
冒烟测试: 对软件的主要功能进行测试
回归测试:
测试总结:一般由于测试组长或者是测试经理编写 (参与)
日常工作:(其中几个 并不是所有的)
1、参与需求讨论,制订测试计划,确保测试能顺利执行并完成。 2、负责项目的功能性测试、用户体验测试、兼容性测试以及性能测试 3、负责测试用例的编写;编写测试报告和对测试结果分析, 4、与开发人员、产品经理沟通和协作,推动整个项目的顺利进行; 5、负责软件开发团队项目进度管理工作,6.熟悉Linux常用命令,熟悉常用数据库,熟练使用基本的SQL语句; 7.熟练使用Loadrunner,Jmeter等至少一种性能测试工具 8 . 熟练掌握java/python/shell 等编程语言的一种
9.熟练使用python+selenium/appnium pytest untest innerHtml 10、持续性能监控
测试环境的搭建:
windos
linux : tomcat jdk mysql 禅道 jenkins 。。。
7.测试分类 (笔试题)
测试分类: 按阶段划分 代码是否执行 程序运行划分 其他
阶段划分:
单元测试: 单个功能的测试 (增删改查 分页 上传 下载 )
集成测试 : 功能模块的测试 (多个功能功点进行总结在一起)
系统测试: 多个模块合成测试 (整个软件的整体测试)
验收测试 : 客户以及产品经理进行 (交付前的测试)
程序是否执行:
静态测试: ui界面 业务逻辑
动态测试: 链接数据之后
代码是否执行:
黑 : 纯功能测试 (手动测试。点点点)
功能测试
安装/卸载测试
界面测试
易用测试
兼容性测试
逻辑功能测试
性能测试
稳定性测试 monkey命令
压力测试
负载测试
一般性能测试 系统资源使用率
白 : 使用编程脚本进行测试 实现自动化
灰: 介于黑和白之间
其他测试:
冒烟测试
回归测试
随机测试
暴力测试
8.测试原则:(笔试题)
9.测试发现bug而开发不认为是bug 你怎么办?(面试题)
1.找到需求文档或者是原型图进行匹对
2.尝试多种测试环境和多种测试方式来确认是否为bug
3.整理bug的复现的步骤和出现的频率
4.开发坚持不认为是bug的时候找项目经理测试经理进行沟通来确认是否为bug
5.将客户经理 测试 测试经理和项目经理进行开确认会来判定是否为bug
6.测试人员需要将bug整理并写入测试总结中
10.开发流程:
瀑布模型:
螺旋模型:
v性模型:(笔试题 画图)
测试归测试组 测试组长/测试经理
测试归项目组 项目经理
项目组所属成员有哪些和比例划分
UI 1
前端 1
后台 5
移动端 iso android 2
测试 1
软件测试工具:
excel word 测试用例 缺陷报告 测试计划 测试总结
xmind 对项目认知【web项目 oa 办公自动化 crm 客户管理系统 erp 进销存系统 电力 医疗类】
金融保险类 医疗 物流 电商 电力 。。。 需求文档
bug管理工具: 禅道 Jira
测试环境 Linux (虚拟机的方式 云平台)
抓包工具: charles Fiddler (MAC无法使用)
性能工具 : jmeter Loadrunner(使用版)
编程语言 shell python
自动化 ui自动化
接口自动化
单元自动化
移动端的专项测试
监控k8s的使用
数据库 mysql