软件:控制计算机硬件工作的工具
软件产生的工程:需求产生(需求方、产品经理)–>需求文档(产品经理)–>设计效果图(UI设计师)–>产品开发(研发人员)–>产品测试(测试人员)–>部署上线
软件测试:运用技术手段验证软件是否满足使用需求
软件测试的目的:减少软件缺陷(bug)、保障软件质量
测试主流技能:
功能测试、
自动化测试(使用代码或工具代替手工,对项目进行测试)、
接口测试(使用代码或工具对服务端提供的接口进行测试,验证程序中的接口是否访问正常)-工具实现、
性能测试(模拟多人使用软件,查找服务器缺陷)-工具实现/代码实现
测试分类
按测试阶段划分
单元测试:针对程序源代码进行测试
集成测试:针对程序接口进行测试
系统测试:针对程序功能、非功能进行测试
验收测试:使用不同用户(内测、公测)进行测试
按代码可见度划分
黑盒测试:针对程序UI(User Interface 用户接口)功能进行测试
灰盒测试:针对程序部分代码进行测试(接口)
白盒测试:针对程序源代码进行测试
模型
质量模型:衡量一个优秀软件的维度
功能性、性能、兼容性(浏览器、操作系统等)、易用性(简洁、友好、流畅、美观)、可靠性(无响应、卡顿、死机)、安全(传输加密、存储加密)、可移植性、可维护性
测试流程
用例:用户使用的案例
测试用例:是为测试项目而设计的执行文档
测试用例的作用:防止漏测、实施测试的标准
用例编号:项目_模块_编号
用例标题:预期结果(测试点)
项目/模块:所属项目或模块
优先级:表示用例的重要程序或者影响力P0~P4(P0最高 使用频率最高的)
前置条件:要执行此条用例,有哪些前置操作
测试步骤:描述操作步骤
测试数据:操作的数据,没有的话可以为空
预期结果:期望达到的结果
例子(QQ登录)
等价类划分(黑盒测试)
目标:
1.能对穷举场景设计测试点
2.能对限定边界规则设计测试点
3.能对多条件依赖关系进行设计测试点
4.能对项目业务进行设计测试点
有效等价肯定为一个 ?
无效等价不一定
验证QQ账号的合法性
验证城市电话号码正确性
适用场景
针对:需要有大量数据测试输入,但是没法穷举测试的地方
eg:输入框、下拉列表、单选复选框
典型代表:页面的输入框类测试