zoukankan      html  css  js  c++  java
  • 软件测试基础

    软件测试基础

    软件测试的定义

        通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求,或者弄清实际结果与预期结果之间的差异

    测试的目的

        发现被测对象与用户需求中的差异——俗称找bug

        通过测试活动发现并解决缺陷,增加人们对被测对象的质量信心

        通过测试活动,获取被测对象的质量信息,为决策提供数据依据

        通过测试活动,预防缺陷,从而降低项目或产品的风险

      测试的原则

        测试证明软件存在缺陷

        不可能进行穷尽测试

        测试应尽早介入,尽早启动

        缺陷存在群集现象

        杀虫剂悖论

        不同的测试活动依赖不同的测试背景

        不存在缺陷的谬论

      软件测试的对象

        软件源代码

        与软件源代码匹配的文档

        支撑软件源代码运行的配置数据

        系统设计阶段:概要设计文档、详细设计文档、是否有设计或逻辑上的错误

        编码阶段:测试源代码,发现编程上的错误

        系统测试阶段:被测对象是否满足用户需求

      测试级别(测试阶段)

        单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能模块(单元测试阶段大约能发现百分之八十的缺陷)

        集成测试:针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符(函数间集成、模块间集成、子系统间集成)

        系统测试:讲通过集成测试的软件,部署到真实的用户环境下执行测试

        验收测试:以用户为主的测试,验收组应该由项目组成员、用户代表组成

          α测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决。(在受控环境下执行)

          β测试:开发者不在测试人员身边,发现问题由专人统一收集,再由开发人员进行修改(在不受控的环境下进行)

          UAT测试:用户接受度测试(一般商业用户验证系统可用性进行的测试)

      软件测试的类型

        功能性测试:在指定条件下,使用被测对象,验证其是否满足用户显性或隐性需求

          测试的关注点:是否有不正确或遗漏或多于的功能;满足系统显性或隐性需求;是否对输入输出做出了正确的响应,输出结果能否正确的显示

        性能测试:通过模拟被测对象运行业务压力或使用场景,验证被测对象是否满足预先设定的性能指标;验证系统是否具有宣称的能力;了解测试系统典型场景,并具有确定的性能目标;需要在真实环境下实施

        安全性测试:测试被测对象的安全保护机制,保护系统不受非法侵入,能够接受正确授权的操作

        兼容性测试:验证被测系统在不同的操作系统、浏览器、硬件信息等环境下的运行情况

      软件测试方法

        黑盒测试:不关注被测对象内部结构,仅从用户需求考虑,是否满足用户显性或隐性需求

        白盒测试:软件内部结构的结构测试、逻辑驱动测试

        灰盒测试:即关注被测对象的外部特征,又关注其内部结构设计

        静态测试:不执行被测对象程序,不运行被测对象的测试方法

        动态测试:执行被测对象,进行的检测活动

        手工测试:通过测试工程师手动的试用、验证被测对象是否满足用户需求

        自动化测试:通过自动化工具,或脚本语言自动化完成测试过程

  • 相关阅读:
    [de2_tv] PAL制TV_VGA
    【转】NiosII中SDRAM相移计算
    VGA controller的代码分析
    TIOBE 2012年2月编程语言排行榜:C#力压C++
    ZendFramework入门2 使用布局
    转载 20个数据库设计最佳实践
    转载 20个很有用的CSS图形和图表技术和教程
    转载 10款实用的Ajax/JavaScript编码工具推荐
    转载 打造优秀Web设计的10项原则
    2012年1月编程语言排行榜:ObjectiveC成为年度语言
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/11393621.html
Copyright © 2011-2022 走看看