1.测试的定义
在软件中出现的bug
2.出现bug的地方以及找到bug的方式有什么
1能用肉眼看到的(界面UI)
2系统资源使用率即CPU 内存 网络 电量
3服务器端
4访问的方式/数据库
3.判断BUG的依据
1.需求文档.原型图
2.不符合的错误类型
3.难以理解 不易使用 运行缓慢
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.测试原则
-
测试显示软件存在缺陷
-
穷尽测试是不可能的
-
测试尽早介入
-
缺陷集群性(2/8原则)
-
20%来源于代码 80%需求不明确 产品需求经常变更
-
杀虫剂悖论
6.测试活动依赖于测试内容
7.没有错误是好是谬论
9.测试发现bug而开发不认为是bug 你怎么办?
1.找到需求文档或者是原型图进行匹对
2.尝试多种测试环境和多种测试方式来确认是否为bug
3.整理bug的复现的步骤和出现的频率
4.开发坚持不认为是bug的时候找项目经理测试经理进行沟通来确认是否为bug
5.将客户经理 测试 测试经理和项目经理进行开确认会来判定是否为bug
6.测试人员需要将bug整理并写入测试总结中
测试归测试组 测试组长/测试经理
测试归项目组 项目经理
项目组所属成员有哪些和比例划分
UI 1
前端 1
后台 5
移动端 iso android 2
测试 1
软件测试工具:
excel word 测试用例 缺陷报告 测试计划 测试总结
xmind 对项目认知【web项目 oa 办公自动化 crm 客户管理系统 erp 进销存系统 电力 医疗类】
10.开发流程:
瀑布模型:
螺旋模型: