1 软件测试基础 1.1 测试定义 通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求,或者弄清实际结果与预期结果之间的差异 软件包括了源代码,用户手册及配置数据等。 1.2 测试目的 ① 发现被测对象与用户需求间的差异(需求分析阶段) ② 通过测试活动发现并解决缺陷,增强人们对被测对象的质量信心 ③ 通过测试活动,获取被测对象的质量信息,为决策提供数据依据 ④ 通过测试活动,预防缺陷,从而降低相似项目或产品的风险 1.3 测试原则 ① 测试证明软件存在缺陷 ② 不可能执行穷尽测试 ③ 测试应该尽早启动,尽早接入 ④ 测试存在群集现象 ⑤ 杀虫剂悖论 ⑥ 不同测试活动依赖不同的测试背景 ⑦ 不存在缺陷的谬论 1.4 测试对象 软件源代码 与软件源代码匹配的文档 支撑软件源代码运行的配置数据 需求阶段 :需求文档,测试需求文档是否正确实现了用户的需求 ② 系统设计阶段:概要设计文档和详细设计文档,是否有设计或逻辑上的错误 ③ 编码阶段:测试源代码,发现编程上的错误 ④ 系统测试阶段:被测对象是否满足用户需求 1.5 测试级别 ① 单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能单元 ② 集成测试:针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符。分三种集成:函数间集成,模块间集成,子系统间集成 ③ 系统测试:通过集成测试的软件,部署在真实的用户环境下执行测试 ④ 验收测试: 以用户为主的测试,验收组应该由项目组成员、用户代表组成。α测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决,在受控环境下执行的测试。 β测试:开发者不在测试人员身边,发现问题由专人统一收集,再由开发人员进行修改,在不受控环境下执行测试。 UAT测试:用户接受度测试,一般商业用户验证系统可用性进行的测试。 1.6 系统测试类型 功能性测试:在指定使用条件下使用被测对象,验证其是否满足用户显性或隐性需求。关注点:① 是否有不正确或遗漏或多余的功能。② 是否满足系统显性或隐性需求。③ 是否对输入输出做出了正确的响应,输出结果能否正确显示。 性能测试:通过模拟被测对象运业务压力或使用场景,验证被测对象是否满足预先设定的性能目标。特点:① 验证系统是否具有宣称的能力 ② 了解测试系统典型场景,并具有确定的目标 ③ 要求在真实的环境下实施。 安全性测试:验证被测对象的安全保护机制保护系统不受非法侵入,能够接受正确授权的操作。 兼容性测试:验证被测对象在不同的操作系统、硬件信息等环境下的运行情况。 1.7 软件测试方法 黑盒测试:不关注被关注对象内部结构,仅从用户需求考虑,是否满足用户显性或隐性需求 白盒测试:结构测试,逻辑驱动测试 灰盒测试:既关注被测对象的外部特性,又关注其内部设计。 静态测试:不执行被测对象程序,不运行被测对象的测试方法 动态测试:执行被测对象进行的检测活动 手工测试:通过测试工程师试用、验证被测对象是否满足用户需求 自动化测试:通过自动化测试工具或脚本语言,自动化完成测试的过程
1
web测试:
http协议部分: 基本知识
get,post
cookie
等