一、认识软件及测试
1、什么是软件
控制计算机硬件工作的工具
2、软件的基本组成
页面客户端------请求----->代码服务器-------请求------>数据服务器
3、软件产生过程
需求产生------->需求文档------->设计效果图------->产品开发-------->产品测试
把测试结果和需求文档进行对比,看是否符合
4、什么是软件测试
软件测试:使用技术手段验证软件是否满足使用需求
5、软件测试的目的
找出软件的错误bug
减少软件的缺陷,保障软件的质量
二、测试的主流技能
1、功能测试
eg:
测试步骤 | 测试数据 | 预期结果 |
---|---|---|
1、输入手机号2、点击发送验证码按钮3、输入验证码4、勾选协议5、点击登录 | 1、手机:已注册手机号2、其他输入正确数据 | 1、手机文本框状态为绿色2、登录成功,跳转到主页 |
说明:功能测试主要验证程序的功能是否满足需求
2、自动化测试
通过工具(代码)来测试功能
说明:使用代码或工具代替手工,对项目进行测试
3、接口测试-代码和工具
说明:使用代码或工具对服务端的接口进行测试
4、性能测试-工具实现和代码实现
说明:模拟多人使用软件,查找服务器缺陷。
高并发
就业方向选择?
方向1:功能测试+接口测试
方向2:功能测试+性能测试
方向3:功能测试+web自动化
三、常见的测试分类
1、按测试阶段分
-
单元测试:针对程序的源代码测试,开发人员交付之前需要先自测
-
集成测试:又称为接口测试,针对模块之间访问地址进行测试,比如登录和注册连接起来测试
-
系统测试:对整个系统进行测试包括功能、兼容、文档等测试
-
验收测试:主要分为内测、公测、使用不同人群来发掘项目缺陷
2、按代码可见度划分
-
黑盒测试:源代码不可见、UI功能可见(User Interface 用户接口---软件界面)
-
灰盒测试:部分源代码可见、功能可见
-
白盒测试:全部代码可见、UI功能可见
四、模型
质量模型
说明:衡量一个优秀软件的维度
需求:
(1)开发一款网络游戏(要求:10个主功能)
(2)游戏支持web(浏览器)端、APP端
(3)游戏上线后预计每日,20w用户玩家在线
八大性能:
-
功能性:明确功能数量,功能正确实现,错误处理情况
-
性能:(在线人数20w)服务器每秒处理的请求数、服务器硬件配置是否满足!
-
兼容性:浏览器(谷歌、IE、火狐、鸥朋、苹果)、操作系统(windows10、7、8、11,Linux)、手机(分辨率、品牌、系统、网络、其他)
-
易用性:简洁、友好、流畅、美观
-
可靠性:无响应、卡顿(响应时间慢)、死机(系统崩溃)
-
安全性:信息传输加密、存储加密
-
可维护性:核心代码都有说明,代码独立
-
可移植性:数据量越来越多,更换服务器
目标:能够说出核心质量模型中重要的五项:功能、性能、兼容、易用、安全
五、软件测试流程
-
需求评审:甲方提出需求、产品经理了解需求,各部门需求理解保持一致,测试人员要了解有几个功能,从而根据项目类型编写测试计划
-
计划编写:测什么、谁来测、怎么测
-
用例设计:验证项目是否符合需求的操作文档
-
用例执行:项目模块开发完成,开始执行用例文档,实施测试
-
缺陷管理:实际结果和测试结果不一样,对缺陷进行管理
-
测试报告:实施测试结果文档
面试题:测试流程
六、测试用例
1、什么是用例
说明:用户使用的案例
例如:
是否能开机:打开手机按下电源键3秒,看是否能开机
验证内存:打开手机设置查看内存是否是64G
验证屏幕:打开手机在白屏背景下检查屏幕是否有黑色点
检查运行速度:打开手机下载吃鸡游戏,是否运行流畅
2、什么是测试用例
说明:为测试项目而设计的执行文档
3、用例的作用
防止漏测
实施测试的标准
4、用例编写格式
-
用例编号 : 项目+模块+编号
-
用例标题 :预期结果
-
项目/模块:所属项目或模块
-
优先级:表示用例的重要程度或者影响力p0~p4(p0最高)
-
前置条件:要执行此条用例,有哪些前置操作
-
测试步骤:描述操作步骤
-
测试数据:操作的数据,没有的话为空
-
预期结果:期望达到的结果
5、用例练习
根据以下测试点编写测试用例
需求:QQ登录(4条测试用例)
1、账号为空
2、账号未注册
3、密码为空
4、密码错误