abdstime 2020-02-14
什么是软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估。
软件测试的目的:以最少的人力、物力找到问题,从而修正问题提高软件质量,达到降低商业风险的目的。
软件测试的定义:使用人工和自动的手段来运行程序,目的在于检验是否满足了需求。
软件测试的原则:
软件质量模型(iso9126):
描述当前软件是否可用,在当前软件行业里我们所采用的一套标准是基于ISO组织制定的,需要记忆软件质量六大特性:
软件质量模型保证(SQA):
目的:使软件制作的过程对领导层可见。
定义:他是一套计划和方法来向领导层保证。
五个基本目标:
1.保证有计划的进行
2.保证遵循了步骤和需求
3.及时通知给对应人员
4.高管可以接触到项目内部
5.软件质量需要测试工作来完成
QC:检验产品的质量
QA:审计过程的质量
工作关系:qc进行质量控制,qa是确保qc按照步骤进行。
测试级别:
单元测试(UT):组成软件最小的底层代码结构,一般是类,函数,组件
集成测试(IT):即接口测试,将多个模块组合一起,验证沟通桥梁是否能正常工作
系统测试(ST):最常用,对软件主体功能进行测试
验收测试:
阿法alpha测试:内测,可能存在很多bug,不建议用户安装
贝塔beta测试:公测,面向所有用户,通过用户反馈爱去修改细节
嘎玛gama测试:候选版,与正式软件相差无几
系统测试分类:
功能测试:验证软件主体功能是否可用
兼容性测试:验证软件在不同环境下是否可用
安全测试:验证软件是否只是能授权用户提供功能使用
性能测试:相对于当前软件消耗资源,他的产出能力
测试的分类:(同测试级别)
按照开发阶段来划分:单元测试、集成测试、系统测试、验收测试。
常见系统测试方法:
按照是否覆盖源代码来划分:黑盒测试、白盒测试、灰盒测试。
按照代码是否运行来划分:静态测试、动态测试。
按照是否自动化划分:
按照软件特性来划分:功能测试、性能测试。
按照测试的实施单位来划分:开发方测试、用户测试、第三方测试。
测试的生命周期:接需求-听评审-写用例-评审用例-准备测试数据-提测之后-测试-测试完成- 发通过邮件-上线之后,做线上验证-发邮件通知完成。
测试流程:
需求分析
编写测试用例
评审测试用例
搭建测试环境(准备软件系统 )
等待开发提交测试包
部署测试包
冒烟测试(主体功能预测)
执行测试用例
BUG跟踪处理(提交及回归BUG)
N轮之后符合需求
版本上线
面向用户使用
测试计划:
测试方案:
测试策略:
测试用例的编写:
BUG的定义:
BUG(软件缺陷)的分类:
1、系统缺陷
2、数据缺陷
3、数据库缺陷
4、接口缺陷
5、功能缺陷
6、安全性缺陷
7、兼容性缺陷
8、性能缺陷
9、界面缺陷
10、建议
BUG(软件缺陷)的状态:
1、提交—测试人员提交缺陷给开发人员
2、打开—待处理
3、拒绝—程序员认为不是缺陷或重复,就可修改为拒绝
4、修复—程序员修改缺陷后的状态
5、关闭—测试人员经过回归测试后,认为此缺陷已经解决,将其关闭
6、推迟—可以放在后续版本解决的问题,但是要详细写出修复的日期或版本
BUG的六要素:
BUG的生命周期:
测试和开发流程的关系、
瀑布流(模式):需求分析-设计-编码-实现-软件测试-完成-维护
V模型:
需求分析 验收测试
概要设计 系统测试
详细设计 集成测试
编码 单元测试
W字型(双V):
螺旋型、
敏捷
戴明环、5W2H等分析管理的方法
质量管理体系CMMI(了解)
———————————————————————————————————
第二阶段 工具学习
以上的这些工具都是纯图形化的,很好掌握,估计就性能测试工具稍微会费点时间。
loadrunner11下载地址:
链接:https://pan.baidu.com/s/1eS2ciFg 密码:6ahk
jmeter下载地址:
链接:https://pan.baidu.com/s/1nvzgd0d 密码:ptza
其他的工具你们直接去对应的官网下在就行了。
工具的部分教程:
loadrunner入门:https://www.imooc.com/learn/714
jmeter入门:https://www.imooc.com/learn/735
fiddle和postman入门:https://www.imooc.com/learn/738
Fiddler Charles jmeter postman xshell Navicat