博勋的博客

我是博勋,专注web前端开发,请多多指教^_^

软件测试

软件测试

  • 软件测试定义:使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
  • 软件测试的原则:
    • 所有的测试都应追溯到用户的需求
    • 尽早地和不断地进行软件测试
    • 不可能完全的测试
    • Pareto原则:测试发现的错误中的80%很可能起源于程序模块中的20%。
    • 软件缺陷的寄生虫性:找到的软件缺陷越多,就说明软件缺陷越多
    • 避免测试自己的程序
    • 设计周密的测试用例
    • 回归测试:程序修改后必须进行回归测试,避免引入新的错误
    • 严格执行测试计划,排除测试的随意性。
    • 确认BUG的有效性
    • 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
  • 瀑布式生命周期:
    • 需求规格说明–系统测试
    • 概要设计–集成测试
    • 详细设计–单元测试
  • 主流测试技术
    • 黑盒测试、白盒测试、本地化测试、易用性测试、web系统测试、兼容性测试、性能测试、安全性测试、文档测试、

黑盒测试

  • 功能测试、数据驱动测试、基于规格说明的测试
  • 等价类划分
  • 边界值分析
  • 流程图

白盒测试

  • 白盒测试又叫结构测试,逻辑驱动测试或基于程序本身的测试
  • 主要方法:
    • 控制流测试
      • 逻辑覆盖 语句覆盖->条件覆盖+判定覆盖->判定/条件覆盖->条件组合覆盖->路径覆盖
      • 路径测试
    • 循环测试
    • 数据流测试
      • 按照程序中的变量定义和使用的位置来选择程序的测试路径
  • 圈复杂度

    • 为程序逻辑复杂性提供定量测度,用于计算程序的基本的独立路径数目。
    • 独立路径必须包含一条在定义之前不曾用到的边。(每一条新的路径都包含了一条新边)
    • 程序图的圈复杂度计算方法(三种):
      • V(G)=e – n + 2p; e:边数,n:节点数,p:连接区域数;当p=1时,V(G)= e – n + 2;
      • V(G)=P+1; P是图G中判定节点的数量
      • 程序图中区域的数量对应于环路的复杂性;
  • Question

    • 覆盖指标、全定义准则、全覆盖准则(数据流测试)

单元测试

  • 是对软件基本组成单元进行的测试。是检验程序最小单位,即检查模块有无错误
  • 单元测试针对每个程序的模块,主要测试如下5方面:模块接口、局部数据结构、边界条件、独立的路径和错误处理。
  • 驱动模块、被测模块、桩模块

集成测试

  • 也叫组装测试或联合测试,是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,并进行测试。验证程序和概要设计说明的一致性
  • 基于分解的集成测试
    • 实施策略
      • 非渐增式集成 又叫大爆炸集成 – 把所有通过了单元测试的模块按设计要求,一次全部组装起来,然后进行整体测试。
      • 渐增式集成 从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题
        • 自顶向下集成 深度优先/广度优先
        • 自底向上集成
        • 三明治集成
  • 基于调用图的集成
    • 成对集成
    • 相邻集成
  • 基于路径的集成
    • MM-路径图 实线表示消息,虚线表示返回;路径复杂度:V(G)=e-n+2p;V(G)=e-n+2

系统测试

  • 将整个软件系统看做一个整体进行测试,包括对功能、性能等,以及将计算机硬件、某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对软件进行测试。
  • 功能测试 根据需求规格说明书和功能测试用例,对产品的功能点进行验证
  • 界面测试
  • 易用性测试
    • 安装易用性测试
    • 功能易用性测试
    • 界面易用性测试
      • IBM界面设计原则
      • Apple界面设计原则
      • 微软界面设计原则
    • 辅助系统易用性测试
  • 性能测试
  • 兼容性测试
    • 硬件平台上、
    • 不同的应用软件之间
    • 不同的操作系统平台上
    • 不同的网络等环境
  • 安全性测试
  • 国际化/本地化测试
  • 安装测试
  • 文档测试

web系统测试

  • 功能测试
    • 页面内容测试
    • 页面链接测试
    • 表单测试
    • Cookies测试、Session测试
    • 设计语言测试
    • 数据库测试
  • 性能测试(负载/压力)
  • 用户界面测试/易用性测试
  • 安全性测试
  • 兼容性测试
  • 接口测试

自动化测试

  • 通过测试工具或其他手段来部分替代手工测试,并按照测试工程师预定计划进行自动测试的活动

一些原则

  • 软件缺陷构成的原则
    • 软件未实现产品说明书要求的功能
    • 软件出现了产品说明书指明不应该出现的错误
    • 软件实现了产品说明书未提到的功能
    • 软件未实现产品说明书虽未明确提及但应该实现的目标
    • 软件难以理解、不易使用、运行缓慢或者–从测试员的角度看–最终用户会认为不好。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31280709/article/details/70882170
想对作者说点什么? 我来说一句

软件测试视频教程

2017年07月26日 43B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭