一、软件及测试简介
1、软件生产过程
需求产生–需求文档–设计效果图–产品开发–产品测试(测试产品与需求文档是否一致)–部署上线
2、什么是软件测试
使用技术手段验证软件是否满足使用需求。
技术包括:(使用网络技术测试安全需求,功能需求等)
3、软件测试的目的
减少bug,bug就是缺陷。
如果需求产生阶段本来要求就不合理这就是一个bug;
然后需求合理但产品经理不靠谱理解错了也是个bug;
UI设计界面不雅观颜色不合理也是bug;
研发人员是编码错误;
软件测试的目的是减少软件中的bug,保障软件质量。
4、认识测试行业小结
1.什么是软件:控制计算机硬件工作的工具。
2.什么是软件测试:使用技术手段验证软件是否满足使用需求。
3.软件测试目的:减少软件缺陷(bug),保障软件质量。
二、测试主流技能
1、测试
1、功能测试
2、自动化测试(使用代码或工具代替手工,对项目进行测试)
3、接口测试(使用代码或工具对服务端提供的接口进行测试)
4、性能测试-工具实现(模拟多人使用软件,查找服务器缺陷)
2、就业方向如何选择?
1、方向(一):功能测试+接口测试;
2、方向(二):功能测试+性能测试;
3、方向(三):功能测试+web自动化
3、小结:
功能测试:测试主要验证程序的功能是否满足需求;
自动化测试:使用代码或工具代替手工,对项目进行测试。
接口测试:使用代码或工具验证程序中的接口是否访问正常。
性能测试:模拟多人使用软件,查找服务器缺陷。
三、测试分类
第一种,按照测试阶段分
1、单元测试:针对程序源代码进行测试,小模块各自单独的测试;
2、集成测试:又称接口测试,针对模块之间访问地址进行测试,将多个小模块(但不是全部)组装测试衔接度;
3、系统测试:对整个系统(所有模块的组合结果)进行测试包括功能、兼容、文档等测试;
4、验收测试:主要分为内测、公测,使用不同人群来发掘项目缺陷。
第二种,按代码可见度划分
A:黑盒测试(1.源代码不可见2.UI功能可见);
B:灰盒测试(1.部分源代码可见2.功能不可见);
C:白盒测试(1.全部代码可见2.UI功能不可见)
四、测试模型
质量模型(衡量一个优秀软件的维度):
1.功能性;
2.性能;
3.兼容性;
4.易用性;
5.可靠性;
6.安全;
7.可维护性;
8.可移植性;
前五项十分重要
方便理解,我们套用一个需求:
1、开发一款网络游戏(要求:10个主功能);
2、游戏支持web(浏览器)端、APP端;
3、游戏上线后预计每日,20W用户玩家在线。
要测试什么
1.功能性(测试功能数量10个,功能正常实现,错误处理情况);
2.性能(1.服务器每秒处理请求数量2.服务器硬件配置是否满足);
3.兼容性(1.浏览器:谷歌、IE、火狐、欧朋、苹果能不能用,2.操作系统:win系统等,3.手机:分辨率、品牌、系统、网络、其他);
4.易用性(1.简介2.友好3.流畅4.美观);
5.可靠性(是否出现无响应、卡顿、死机);
6.安全(信息的传输与存储中是否有加密);
7.可维护性(条理清晰后续有问题易查易修改);
8.可移植性(网站数据迁移);
五、测试流程
1、需求评审(确保各部门需求理解一致);
2、计划编写(测什么、谁来测、怎么测);
3、用例设计(验证项目是否符合需求的操作文档);
4、用例执行(项目模块开发完成开始执行用例文档实施测试);
5、缺陷管理(对的缺陷进行管理的过程,从缺陷描述到交给开发等待开发修复完成你再去验证缺陷是否修复然后结束这样一整个过程);
6、测试报告(实施测试结果文档);