zoukankan      html  css  js  c++  java
  • 软件测试理论(一)

    • 软件测试目的

    1)确保软件质量

    2)减少质量问题给企业及用户带来隐患

    • 测试分类

    1)安装测试

    2)构建测试

    3)白盒测试

    4)黑盒测试

    5)性能测试

    6)迁移测试

    ……

    • 单元测试

    1、定义:开发人员针对程序模块(软件设计的最小单位)来进行正确性检验的测试;

    2、单元测试是和开发最接近的一种测试;

    3、单元测试是粒度最小的软件测试

    • 过程化编程:单个程序、函数、过程
    • 对象化编程:方法、基类、抽象类、派生类

    4、子系统只有通过单元测试之后才能集成到大系统中

    白盒测试

    定义:指测试人员可直接访问内部数据结果、算法及其代码实现的测试

    常见的方法:

    • 接口测试
    • 代码覆盖率测试
    • 缺陷注入测试方法

    “单元测试”和“白盒测试”区别

    1、测试目的不同

    “白盒测试”是测试程序的整体逻辑

    “单元测试”是测试程序中一个独立的模块

    2、执行人员不同

    “白盒测试”一般是由专门的白盒测试人员完成

    “单元测试”一般是由程序员自己完成

    功能测试(黑盒测试)

    1、定义:通过黑盒模式发现代码集成后存在的功能问题的测试(关注的重点是系统的功能;可以自动或手动执行测试用例)

    2、与“单元测试”的区别:粒度不同

    3、单元测试关注的是最小代码片段

    4、功能测试关注的是一个完整的业务功能

    性能测试

    1、关注重点:验证软件的非功能性需求的测试

    2、相应测试项:吞吐率、稳定性、可靠性

    3、主要手段:通过自动化的方法模拟真实用户并发访问的场景

    4、最终目的:1、验证系统的性能指标或发现其性能瓶颈;2、从根本上保证用户体验和长远利益

    手工测试特点

    优点:

    • 方便灵活
    • 首次投入成本低
    • 人员素质要求低

    缺点:

    • 效率低
    • 重复开销大
    • 难以模拟复杂的使用场景,如:并发或连续事务

    自动化测试特点

    优点:

    • 效率高,提供很强的生产力
    • 重复活动开销小
    • 基本可以模拟任何复杂的使用场景
    • 弱化了软件测试人员个体差异的影响

    缺点:

    • 首次投入成本高
    • 变更成本大
    • 人员素质要求高

    自动化 vs 手动测试

    • 形成良好互补,2/8原则
    • 创造性的工作交付人来做,重复性工作交付机器来做
    • 大项目适合自动化测试,小项目适合手工测试

    针对小规模项目分析:

    • 小规模测试基本上手动和自动都可以适用
    • 在很小规模的时候,手工在成本上有很大的优势
    • 随着回归次数增加,手工成本基本线性增加,自动化则成本趋于稳定

    大规模项目分析:

    • 软件项目随着规模增大,很容易产生滚雪球效应
    • 手工测试很快遇到天花板,无论是成本还是可操作性都会出现障碍,投入成本增幅远高于开发成本增幅
    • 自动化将成为主流,基本成本的增长和开发的成本投入幅度相当

    note:自动化脚本的开发工作并不是越早越好,而是应该基于稳定的测试环境和测试计划。

    参考借鉴原地址:http://www.cnblogs.com/beer/p/4805146.html

     

  • 相关阅读:
    .Net插件编程模型:MEF和MAF[转载]
    并行任务task
    wpf动画概述
    vs在线工具杂烩
    力挺8天入门wpf【转载】
    vs debug 快捷键
    Visual Studio® 2010 Web Deployment Projects站点编译生成bin同时发表插件
    EasyUI选项卡tab页面处理示例
    显示输入框只能输入的内容
    JqueryeasyUI选项卡选择判定更改内部Iframe地址
  • 原文地址:https://www.cnblogs.com/sunshine-blog/p/8243186.html
Copyright © 2011-2022 走看看