一,软件的定义
软件 = 数据 + 指令 + 集合
1.1根据应用场景分类
工具类软件,游戏型软件,媒体型软件,电商型软件等
根据软件架构分类:单机版软件,分布式软件。
1.单机版软件:office 红色警戒等
2.分布式软件:
C/S架构软件:客户端需安装专门软件,如QQ 微信等等
B/S架构软件:客户端为浏览器,如百度,hao123等等
二,软件测试的定义
通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程。
三,软件测试的原则
原则一:测试显示软件存在缺陷
原则二:穷尽测是不可能的
原则三:测试尽早介入
原则四:缺陷集群性(2/8原则)
原则五:杀虫剂悖论
原则六:测试活动依赖于测试内容
原则七:没有错误是好是缪论
四,测试模型的介绍
V模型:
用户需求,需求分析,概要设计,详细设计
编码和实现
验收测试,系统测试,集成测试,单元测试
W模型:
需求分析,概要设计,详细设计,编码和实现,模块集成,系统构建,系统安装。
需求测试,概要设计测试,详细设计测试,单元测试,集成测试,系统测试,验收测试。
1.1软件测试的流程
阶段名:测试准备阶段,测试计划阶段,测试设计阶段,测试执行阶段,测试完成阶段。
工作内容:项目立项,需求分析需求评审,编写测试计划,计划评审,提取测试点,编写测试用例,用例评审,冒烟测试,执行测试用例,提bug,回归测试,验收测试,编写测试报告,项目上线。
产出物:需求文档,产品PRD,测试计划,测试用例,缺陷报告,测试报告
1.1软件测试的分类
1.1.1按技术划分
黑盒测试,白盒测试,灰盒测试。
黑盒测试:主要为功能测试
白盒测试:会一定的编程语言
灰盒测试:同时掌握黑盒和白盒测试
五,按阶段划分
单元测试,集成测试,系统测试,验收测试
测试名称:单元测试,集成测试,系统测试,验收测试。
单元测试的测试对象:最小的模块,如函数,类等
集成测试的测试对象:模块间的接口,如参数传递。
系统测试的测试对象:整个系统,包括软硬件。
验收测试的测试对象:整个系统,包括软硬件。
单元测试需要的人员:白盒测试工程师或开发人员
集成测试需要的人员:白盒测试工程师或开发工程师
系统测试需要的人员:黑盒测试工程师
验收测试需要的人员:主要为用户,还可以能有测试工程师等
单元测试的测试方法:主要采用白盒测试
集成测试的测试方法:黑盒和白盒测试的结合
系统测试的测试方法:黑盒测试
验收测试的测试方法:黑盒测试
1.1按内容划分
功能测试,性能测试,兼容性测试
功能测试:界面测试,冒烟测试,回归测试,业务逻辑测试,易用性测试。
性能测试:压力测试,负载测试,并发测试
兼容性测试:
APP:
1.Android/los版本
2.厂商
3.型号
4.分辨率
5.屏幕:全屏,水滴屏,刘海屏,曲面屏,双面屏
wed
1.浏览器:四类,工具浏览器内核
IE,360(兼容模式),搜狗(兼容模式) (Trident内核)
Firefox(Gecko内核)
Chrome,360(极速模式),搜狗(极速模式)(Blink内核)
Apple Safari (webkit内核)
1.2按其他划分
冒烟测试,随机测试,安全性测试,探索性测试,回归测试,alpha测试,Beta测试