测试理论概要分析
1.目的:
在测试工作中经常有人问 测试标准、测试流程、测试规范等一系列问题,今天对测试理论做概要分析介绍 (详细分析有时间在写)。
2. 定义:
什么是软件测试框架
框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;可对用例包装维护管理,只需按照框架的语法调用即可。
什么是测试策略
测试策略是侧重需求分析,评估风险,定义测试范围,确定测试方法,制定测试启动、停止、完成标准和条件。
什么是测试计划
所谓测试计划是指描述了要进行的测试活动的范围、方法、.资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等
什么是测试方案
所谓测试方案是指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案
所谓测试方案是指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案
计划和方案的区别
测试方案是属于管理层的文档,它主要概括本次测试干什么事情.
测试方案是属于技术层的文档,它主要概括本次测试“怎么去做“.
GET和POST区别
GET在浏览器回退时是无害的,而POST会再次提交请求
GET请求只能进行url编码,而POST支持多种编码方式。
GET参数通过URL传递,POST放在Request body中。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
web测试与app测试区别
一个是pc端测试 一个是移动端测试
web测试比较注重浏览器的兼容测试,app则是注重分辨率测试
确认测试时web端比app方便,
相对于web测试,app测试,除了要考虑基本功能、性能等,还要考虑手机本身固有的属性特征(比如使用程序是否对手机本身功能造成影响)
web测试比较注重连接链测试、表单、安全性测试,app则是闪退、网络切换、推送、多任务、升级卸载运行测试等
cookie、session、token区别
1.cookie是保存在客户端或浏览器中的小数据块(有存储限制4KB左右、每次请求会携带cookie、不支持中文、数据存在本地不安全)
2.session由服务的创建主要作用就是保存sessionid,客户端与服务端权限确认就是通过sessionid(通常情况cookie和session结合使用)
3.sessionid是cookie和session之间的桥梁
4.token其实就是一串被加密后的字符串,通常使用uid、时间戳、签名算法加密而成 (在用户登录成功后由服务器返回token,然后每个请求的请求头加上token即可)
备注:cookie、session、token它们目的都是鉴权和认证,,现在比较流行是token认证,,缺点:cookie+session增加请求体浪费性能、增加服务端消耗、容易遭受CSRF攻击
3.概要分析:
测试的重要性
没有测试,项目在黑暗中乱撞、被障碍绊倒、最后跌下悬崖。而测试会在需要的地方点亮火把,来帮助开发人员和管理者知道他们在哪、他们要去哪、还有他们什么时候能到达。
性能测试流程(步骤)
测试需求分析-》测试计划制定-》场景设计-》测试执行与监控-》分析测试结果-》编写性能测试报告
功能测试流程(步骤)
需求分析(需求评审)-》测试计划-》测试设计(用例)-》测试执行-》测试追踪-》测试报告-》上线验收

白盒测试方法:
语句覆盖、判定覆盖(a>5&&b>10)、条件覆盖(a>5)、判定条件覆盖、路径覆盖。
解释:语句覆盖可以得出覆盖路径,根据覆盖路径得到覆盖判断, 判定条件覆盖根据覆盖判定得到覆盖条件。
功能测试方法:(太多可根据自己理解)
回归测试、兼容测试、容错性测试、易用性测试、安装/卸载、覆盖测试、边界值/组合测试、数据验证、接口测试、权限测试、多任务交互测试、异常中断、UI测试、分辨率、表单、cookies、随机测试、探索测试、稳定性等。
测试分类:
功能测试、UI测试、兼容测试、压力测试、性能测试、冒烟测试、探索性测试。
测试阶段:
单元测试>集成测试>系统测试>验收测试。
测试策略:
功能测试,性能测试,压力测试,容量测试,安全性测试,GUI测试,可靠性测试,安装测试,配置测试,网络测试、稳定性测试、容错测试、文档测试、兼容性测试、易用性、接口测试等。
保证测试用例的覆盖率:
1.应当充分的理解需求说明文档,按照需求点划分等价类。2.然后设计的测试用例需要进行评审,3.多场景组合(异常/正常场景,另外在完成用例执行后,还需对系统异常暴力测试,从而验证系统遇到异常情况的反应能力)
软件测试原则:
- 1.所有的软件测试都应追溯到用户需要
- 2.尽可能早的启动测试工作
- 3.设计测试用例是应该包括“正向”和“逆向”用例
- 5.保留测试过程中的文档
- 6.穷举测试是不可能的
- 7.事先定义好产品的质量标准
测试用例元素:
主要包括(用例ID、所属模块、用例标题、预置条件、操作步骤、预期结果、执行结果等)
测试计划元素:
测试计划主要包括【1.简介(项目介绍、目的、项目背景、参考资料)2.测试环境(软软件、硬件、网络、系统)3.测试详述(测试范围、系统结构、测试目标)4.测试时间安排、5.测试策略(功能测试、兼容测试.....)6风险分析(对项目将遇到风险分析)7.测试提交物(将要提交的文档)】
安全测试(主要5种):
1.授权&权限认证,2.cookie(cookie加密敏感信息,多网站时作用域),3.文件上传(通过上传脚本文件执行服务器)
4.ddos攻击(模拟大批量请求),5.跨站攻击(通过前端漏洞获取cookie&用户信息 发送指定人), 6.SQL注入
如何保证测试用例覆盖率:
调整测试:1.增加交叉测试,2.增加测试用例评审、3.测试用例的粒度(如增加逆向用例多考虑场景)
软件测试的目的:
- 测试是程序的执行过程,目的在于发现错误
- 一个成功的测试是发现了至今未发现的错误的测试
- 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
- 确保产品是健壮的和适应用户环境的
BUG生命生命周期:
- 提交bug---指派---已解决---待验证---关闭
软件测试的常用测试方法:
黑盒:等价类划分、边界值、因果图、场景测试、正交表,错误猜错法、测试大纲法、随机测试
白盒:代码审查、接口测试
解释:因果图:方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况
错误推测:并不是瞎猜,不是没有根据和目的的猜测,它需要了解系统薄弱的地方和开发人员的盲点,也可以根据以往的缺陷分析报告来分析系统最容易出现错误的地方,作为推测的依据。
案例一(错误推测):
聊天窗口功能
1)输入特殊字符(全角、半角)后,窗口是否能够正常显示
2)输入空格,是否能够过滤,是否会计算长度
3)输入html字符
4)输入脚本语言函数
接口测试:
分类 应用程序编程接口、JDBC数据库接口、第三方接口
作用 1.可以提前验证代码业务逻辑是否正确
2.尽早暴露出接口问题 减少返工工作量
3.由于接口先测试,当产品提供可测界面时,问题就少很多了,只是界面样式和兼容性问题。整体上会在缩短整个测试时间。
接口测试要点:

4.接口自动化适用场景:
(1)测试前置、开发自测:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。(开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。)
(2)回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。
浙公网安备 33010602011771号