• 软件开发模式


    软件开发模式

      软件开发模式是软件工程研究的重要领域, 软件测试与软件的开发模式息息相关, 在不同的开发模式中,测试的作用具有细微的差别, 测试人员应该充分理解软件的开发模式, 一变找准自己在其中的位置和角色定位, 以便于充分发挥测试人员的价值。

    常见的软件开发模式

      在软件工程中, 软件开发模型用来描述和表示一个复杂的开发过程

      一般人们在提起软件开发模型的时候, 首先想到的大概是著名的"瀑布模型" , 但是现在大部分软件开发过程都不可能是严格的"瀑布"过程, 软件开发的哥哥阶段之间的关系大部分情况下不会是线性的

      常见的开发模式主要有一下3类:

    • 线性模型
    • 渐进式模型
    • 变换模型

    线性模型

    一般在软件需求完全确定的情况下, 会采用线性模型, 最具代表性的是"瀑布模型", 如图所示

      瀑布模型在软件工程中, 占有重要地位 , 是所有其他模型的基础框架 , 瀑布模型的每一个阶段都只执行一次, 因此是线性顺序进行的软件开发模式

      瀑布模型的一个最大的缺陷在于,可以运行的产品很迟才能被看到, 这会给项目带来很大的风险,尤其是集成的风险, 因为如果在需求引入的一个缺陷,要到测试阶段甚至更后的阶段才能被发现, 通常会导致前面阶段的工作大面积返工,

      尽管瀑布模型存在很大的缺陷, 例如, 在前期阶段未发现的错误户传递并扩散到后面的阶段, 而在后面阶段发现这些错误时, 可能已经很难回头再修正, 从而导致项目的失败. 但是目前很多软件企业还是沿用了瀑布模型的线性思想, 在这个基础上做出自己的修改 ,例如细化了各个阶段,在某些重点关注的阶段之间掺入迭代的思想。

      在瀑布模型中, 测试阶段处于软件实现后, 这意味着必须在代码完成后有足够的时间预留给测试阶段, 否则将导致测试不充分, 从而把缺陷直接遗留给客户。

    渐进式模型

       一般爱软件开发初期阶段需求不是很明确时, 采用渐进式开发模式 , 螺旋模型是渐进式模型的代表之一,如图所示

      螺旋模型的基本做法是在“瀑布模型”的每一个阶段之前引入严格的需求分析和风险管理, 这对于那些规模庞大,复杂的高,风险大的项目尤其适合, 这种迭代开发的模式给软件测试带来了新的要求, 它不允许有一段独立的测试时间和阶段, 测试必须跟随开发的迭代而迭代, 因此,回归测试的重要性就不言而喻了.

      增量开发能够显著降低项目风险, 结合软件持续构建机制, 构成了当今流行的1软件工程最佳实践之一

      因此, 在这种开发模式下, 每一次迭代都意味着测试需要频繁进行, 测试人员需要与开发人员更加紧密地协作

     增量和迭代的区别

     

    变换模型

     变换模型是基于模型设计语言的开发模式, 主要思想是省略编码和测试阶段, 代之以自动化的程序变换过程,而主要集中精力在前面的需求分析和建模,

      在每一次迭代原型出来后, 测试人员都需要从原型界面, 系统主要功能, 性能等方面对原型进行评审

     

    敏捷运动

    敏捷宣言

    个体与交互 重于 过程和工具

    可用的软件 重于 完备的文档

    客户协作    重于 合同谈判

    相应变化    重于 遵循计划

    极限编程(xp)

    敏捷运动让一大批被称为"敏捷派"的轻量过程繁荣起来, 其中又以XP堪称代表

     XP所追求的4个价值目标是 沟通 简化 反馈 勇气

      基于敏捷核心思想和价值目标, XP要求项目团队遵循13个核心实践

  • 相关阅读:
    zabbix 二 zabbix agent 客户端
    zabbix (一:zabbix服务端)
    ssh ip "WARING:REMOTE HOST IDENTIFICATION HAS CHANGED!"
    undefined reference to libiconv_open'
    linux 远程 windows 命令:rdesktop vs windows mstsc
    源码安装mysql
    svn 结合rsync 的代码发布系统
    svn !
    使用rsync 的 --delete参数删除目标目录比源目录多余的文件
    svn 提交冲突(目录下删除文件)
  • 原文地址:https://www.cnblogs.com/qq752059037/p/10632266.html
Copyright © 2020-2023  润新知