• 软件的开发与生命周期


    1.软件开发与生命周期

    1.1 软件开发模型

    • 瀑布模型
    • 快速原型模型
    • 螺旋模型
      注意: 软件测试与软件的开发模式有着紧密的联系,作为一名测试人员,应该充分理解软件的开发模式,以便找准自己在其中的位置,从而发挥自身的价值

    1.1.1瀑布模型

    # 1.瀑布模型
      # (1) 瀑布模型的特点
          1)是线性模型的一种,每个阶段执行一次
          2)是文档驱动
      # (2)瀑布模型的优缺点
          优点:
            开发的各个极端比较清晰,当前阶段,当前阶段完成之后,只需关注后续结果即可
          缺点:
            不响应需求的变化
            风险往往到后期才先露出来,从而失去较早的纠正机会
    
    Smiley face

    1.1.2.快速原型模型

    # 2.快速原型模型
    在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
    # (1).快速原型模型的特点
    	1).快速的构建软件的原型 
    	2).支持用户参与
    # 优缺点:
    	优点: 克服瀑布模型的缺点,减少由于软件需求不明确带来的项目开发风险。
    	缺点: 不适合大型系统的开发(适合开发小型的、灵活性高的系统)。
    

    Smiley face

    生命周期

    Smiley face

    2 测试模型

    2.1 软件测试模型

    • V型
    • W(双V)模型(重点)

    2.1.1 V模型

    # 1.V模型
    # (1).V模型介绍:
    	- V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果; 
    	- V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。 
    	- V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
    # (2).V模型的优缺点
    优点: 测试V模型即包含了底层测试又包含了高层测试;
    缺点: 当需求变更时将会导致返工量非常大,模型灵活性比较低。
    # V模型示意图:
    
    Smiley face

    2.1.2W模型(背下来)

    # 2.W模型
    # (1).W模型介绍:测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
    # (2).W模型的优缺点:
    优点:
    	1).强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,还包括需求和设计。
    	2).更早地介入测试,能尽早得发现缺陷进行修复。
    缺点: 对于测试技术要求高,实践起来困难。
    # W模型示意图如下:
    # 不同阶段软件缺陷修复费用如下图:
    
    Smiley face Smiley face

    3 质量模型

    软件质量,就是软件与明确地和隐含地定义的需求相一致的程度。 
    ISO 9126软件质量模型是评价软件质量的国际标准,这个模型是软件质量标准的核心,对于大部分的软件, 都可以考虑从这这6个特性和27个子特性去测试、评价一个软件。
    
    Smiley face

    4 软件测试分类

    4.1 软件测试总览

    Smiley face

    4.2 按测试阶段分

    # 1. 单元测试
    单元测试,又称模块测试,是针对软件中的最小模块-程序模块,进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例
    多个模块可以平行地独立进行单元测试。
    单元定义:C中指一个函数,Java中指一个类。
    
    Smiley face
    # 2. 集成测试
    集成测试又称组装测试,在单元测试的基础上,将所有程序的模块进行有序的递增测试
    
    Smiley face
    # 3. 系统测试
    系统测试,是将整个软件的系统看为一个整体进行测试,测试依据软件需求说明书
    
    # 4. 验收测试
    验收测试, 用来检验软件是否符合用户需求的测试.
    验收测试又细分为一下分类:
        (1).α测试:
    		Alpha 是内测版本 
    		通常只在软件开发者内部交流 
    		一般而言, 该版本软件的bug较多,普通用户最好不要安装
    	  (2).β测试:
        	Beta是公测版本,是对所有用户开放的测试版本 
    		这一版本通常由软件公司免费发布, 用户可从相关的站点下载 
    		通过一些专业爱好者的测试, 将结果反馈给开发者, 开发者们再进行有针对性的修改
        (3).γ测试:
            Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本
    

    4.3 按是否查看源代码划分

    - 黑盒测试
    - 白盒测试
    - 灰盒测试
    
    # 1. 黑盒测试
    黑盒测试, 又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和 输出数据。
    
    Smiley face
    # 2. 白盒测试
    白盒测试, 指的是把盒子打开,去研究里面的源代码和程序结构。
    
    Smiley face
    # 3. 灰盒测试
    灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
    
    4.4 按是否运行划分
    (1).静态测试:指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。 
    (2).动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
    
    4.5 按照是否自动化划分
    人工测试: 也叫做手工测试,测试人员手动去进行的测试 
    自动化测试: 利用代码或者工具帮助人工进行测试
    
    更多分类
    冒烟测试: 冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
    回归测试: 当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
    随机测试: 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分 
    探索性测试: 探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。
    
  • 相关阅读:
    Golang 学习权威网站
    iOS多线程GCD的使用
    iOS 开发 nonatomic 和 atomic
    iOS证书配置与管理
    iOS pthread
    NSTimer 不工作 不调用方法
    iOS开发者学习Flutter
    Xcode如何打开Archives打包界面?
    iOS 12.1 跳转页面时 tabBar闪动
    支付宝
  • 原文地址:https://www.cnblogs.com/yimeng123/p/15067560.html
Copyright © 2020-2023  润新知