• 软件测试


     

    什么是软件测试?

    1.软件测试就是一种用来促进检测软件的正确性、完整性、安全性和质量的过程。

    2.换句话说也就是程序员将一个程序写好之后交给软件测试的人员,软件测试的人员就是去测试程序员所写程序的bug(漏洞),然后再跟程序员交流修复好那个bug。

    测试原则

    1.任何软件都不是完美的,都需要进行测试,都会存在bug。

    2.测试都应该尽早介入。

    3.杀虫剂现象,测试用例不能使用多次,否则程序会自动出现免疫情况。

    系统测试分类

    1.功能测试(主体功能是否可用)

    2.兼容性测试(不同环境下是否可用)例:安卓和苹果

    3.安全测试(是否只能是授权用户提供功能使用)

    4.性能测试(当前软件消耗的资源 它的产出能力)

    常见系统测试方法

    1.按测试对象进行分类

      1.1 白盒测试(看源码)

      1.2 黑盒测试(不看源码)

      1.3 灰盒测试()

    2.按测试对象是否执行分类

      2.1 静态测试 

      2.2 动态测试

    3.按测试手段进行分类

      3.1 手工测试

      3.2 自动化测试

    软件开发过程模型

    1.瀑布型模型

    1.1 是线性模型的一种,是所有其他模型的基础

    1.2测试切入点

    测试阶段处于软件后期实现后,必须在代码完成后留有足够的时间给测试,

    导致测试时间不够充分,很多问题到项目后期才暴露出来。

    优点:

    1.开发的各个阶段比较清晰

    2.适合发展需求稳定的产品

    3.适用于小型公司

    缺点:

    1.过于依赖于早期的需求计划

    2.单一流程不可逆

    3.问题往往在项目后期才会显露

    2.快速原型模型

    2.1 创建一个快速原型,实现用户与系统的交互,抓准系统的核心,逐步调整原型使其满足用户需求。

    2.2 在第一步的基础上开发出令人满意的软件

    优点:

    1.克服瀑布模型的缺点,更好的满足用户的需求

    缺点:

    1.不适合大型系统的开发(适合 开发小型的、灵活性高的系统)

    3.螺旋模型

     3.1 螺旋模型分为几个周期,每一个周期都是一个小型的瀑布模型

    螺旋模型沿着螺旋线旋转,分为了四个方面的活动,分别是

    制定计划

    风险分析

    实施开发

    客户评估

    优点:

    1.螺旋模型很大程度上是一种风险驱动的方法体系。都必须进行风险评估。

    缺点:

    1.采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中

    如果未能标识风险,势必造成重大损失,过多迭代会增加开发的成本。

    测试模型

    1.V模型

    需求分析:用户的需求、业务需求。

    概要设计:系统架构、模块划分、模块与模块之间的接口。

    详细设计:模块内部实现的逻辑和方法。

    编码:实现上面的设计。

    单元测试:(类、函数、组件)

    集成测试:多模块连接测试

    系统测试:系统主体进行测试

    验收测试:检测产品是否符合最终用户的需求

    优点;

    1.V模型清楚的标识出软件开发的阶段

    2.测试V模型即包含了底层测试又包含了高层测试

      2.1 底层测试 :检验源代码质量的测试,如:单元测试

      2.2 高层测试:检验整个系统的需要,如:系统测试

    缺点:

    1.1  V模型一大缺点正是它自身的顺序性所导致的。到了测试阶段,程 序已经完成,错误已经产生,

    很多前期的错误一直到测试阶段才 发现,甚至无法发现,往往无从修改了。 

    1.2 灵活性比较低。

    2.W模型

    优点:

     测试伴随着整个开发过程,更早的介入测试,可以发现开发初期的很多缺陷,可以降低开发的成本,便于控制项目的过程。

    缺点:使用起来技术复杂度很高,对需求和设计的测试难度较高,实践起来很难。

    3.H模型

    优点:

    比较灵活

    缺点:

     对于整个项目组的人员要求非常,也就意味着成本比较高, 适用于比较有钱的大公司。

  • 相关阅读:
    multimap-swap
    multimap-size
    multimap-rend
    CentOS的利手:“Screen”一个可以在多个进程之间多路复用一个物理终端的窗口管理器
    对TCP/IP网络协议的深入浅出归纳
    程序员的数学:汉诺塔递归与非递归求解
    多柱汉诺塔问题探究
    汉诺塔问题的递归实现(扩展)
    CentOS---网络配置详解
    VMWare虚拟机下CentOS 配置网络实现远程连接,提供Web访问
  • 原文地址:https://www.cnblogs.com/zxy6/p/13071383.html
Copyright © 2020-2023  润新知