-
测试的定义
找在软件中存在的bug -
出现Bug的地方以及找到bug的方式有:
1.肉眼可以看到的(UI界面)
2.系统资源使用率(CPU,内存,网络,电量,等等----)
3.服务器端
4.访问的方式/数据库的 -
判断Bug的依据:
1.需求文档,原型图
2.不相符合的错误类型
3.难以理解,不易使用,运行缓慢.. -
Bug出现的原因
20%来源于代码,80%来源于需求不明确,产品需求经常变更 -
产生Bug的原因归纳为:
1.需求解释有错误;
2.用户需求定义错误;
3.需求记录错误;
4.设计说明有误;
5.编码说明有误;
6.程序代码有误;
7.数据输入有误;
8.测试错误;
9.问题修改不正确 -
测试流程(*)
我们一般在项目进行开立项会[产品经理,项目经理,开发人员,测试人员]的时候进行
参与,讨论需求并提出建议,在立项会中制定需求文档,由UI设计原型图,开发根据需求
文档进行编码,我们测试会根据需求文档进行编写,测试计划,根据模块的(颗粒度)划分
并编写测试用例的评审,开发结束后测试对主要功能进行冒烟测试,执行测试用例,提交
Bug开发进行修改,修改成功后关闭Bug,进行回归测试,在上线前进行测试总结。《需求文档》/《规格说明使用书》
《测试计划》一般由测试组长或者是测试经理编写 (参与)
《测试用例》根据模块划分/根据测试功能/性能/自动化进行划分
用例评审会[测试人员,测试组长/项目经理,产品经理]: a:组内评审
[测试人员,测试组长/项目经理,产品经理,客户]: b:组外评审
冒烟测试: 对软件的主要功能进行测试
回归测试:
测试总结:一般由测试组长或者是测试经理编写 (参与)
日常工作: (其中几个,并不是所有的)
1.参与需求讨论,指定测试计划,确保测试能顺利执行并完成
2.负责项目的功能性测试,用户体验测试,兼容性测试以及性能测试
3.复测测试用例的编写,编写测试报告和对测试结果分析
4.与开发人员,产品经理沟通和协作,推动整个项目的顺利进行
5.负责软件开发团队项目进度管理工作
6.熟连Linux常用命令,熟悉常用数据库,熟练使用基本的SQL语句
7.熟练使用Loadrunner,Jmeter等至少一种性能测试工具
8.熟练掌握Java/Python/Shell等编程语言的一种
9.熟练使用python+selenium/appium pytest untest innerHtml
10.持续性能监控
测试环境的搭建:
windos
linux: tomcat jdk mysql 禅道 jenkins ---等
7.测试分类 (*)
测试分类:按阶段划分 代码是否执行,程序运行划分,其他
阶段划分:
单元测试:单个功能的测试(增删改查,分页,上传,下载)
集成测试:功能模块的测试(多个功能功点进行总结在一起)
系统测试:多个模块合成测试(整个软件的整体测试)
验收测试:客户以及产品经理进行(交付前的测试)
**程序是否执行:**
黑:纯功能测试(手动测试,点点点)
功能测试
安装/卸载测试
界面测试
易用测试
兼容性测试
逻辑功能测试
性能测试
稳定性测试 Monkey命令
压力测试
负载测试
一般性能测试 系统资源使用率
白: 使用编程脚本进行测试 实现自动化
灰: 介于黑与白之间
-
测试原则 (*)
1.测试显示软件存在的缺陷
2.测试尽早介入
3.穷尽测试是不可能的
4.没有错误是好事谬论 -
测试发现Bug而开发不认为是bug,你怎么办?(*)
1.找到需求文档或者事原型图进行匹对
2.尝试多种测试环境和多种测试方式来确认是否为Bug
3.整理Bug的复现的步骤和出现的频率
4.开发简称不认识是Bug的时候找项目经理测试经理进行沟通来确认是否为bug
5.将客户经理,测试,测试经理和项目经理进行确认并确认会来判定是否为bug
6.测试人员需要将Bug整理并写入测试总结中 -
开发流程:
瀑布模型:
螺旋模型:
V型模型: (*)
W型模型:
测试归测试组 测试组长/测试经理
测试归项目组 项目经理
项目组所属成员有哪些和比例划分
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