테스트 - 소프트웨어 개발 모델 및 소프트웨어 테스트 모델

1. 소프트웨어 개발 모델

  • 개념 : 软件开发模型(소프트웨어 개발 모델) 모든 소프트웨어 개발 프로세스, 활동 및 작업의 구조적인 프레임 워크를 말한다.
  • 作用: 소프트웨어 개발 모델은 명확하게 명확하게 프로젝트 작업을위한 소프트웨어 기반으로, 주요 활동 및 작업을 수행 할 정의, 시각적으로 전체 소프트웨어 개발 프로세스를 표현할 수 있습니다. 다른 소프트웨어 시스템의 경우, 서로 다른 프로그래밍 언어와 작품, 다른 관리 방법과 수단의 사용에 관련된 다른 기술 인력의 다양한 사용뿐만 아니라 다양한 소프트웨어 툴과 다양한 소프트웨어 공학의 사용을 허용, 다른 개발 방법을 사용할 수있다 환경.

1.1. 이렇게 수정

많은 제품 개발의 모델을 "개혁을 수행하여 학습의"를 사용하고 있습니다. 이 모델에서, 사양도도 설계되어 软件随着客户的需要一次又一次地不断被修改사용자의 만족도까지. 이것은 여전히 적절한 작은 프로그램에 대한 유사한 워크숍을 개발하는 방법이지만,이 방법은 모든 규모의 개발이 주로 만족스럽지 못한입니다 缺点것을 :

  • 계획 및 설계 측면의 부족, 더 나쁜에서 일정 변경 소프트웨어의 구조, 수정을 계속하는 것이 불가능하게
  • 소프트웨어 개발자에게 위험의 큰 거래를 부문의 요구를 무시
  • 테스트 및 절차의 유지 보수성을 고려하고, 어떤 문서가 존재하지 않았다, 소프트웨어 유지 보수는 매우 어렵다
    여기에 그림 삽입 설명

1.2. 폭포 모델

소프트웨어 수명주기의 폭포 모델은 계획, 요구 사항 분석, 소프트웨어 설계, 프로그래밍, 소프트웨어 테스트 및 운영과 여섯 개 기본 활동의 유지 보수로 구분하고, 위에서 아래로 그들을 위해 제공되고, 고정 된 순서의 상호 융합, 물이 떨어지면, 점진적으로 하락. 소프트웨어 개발의 폭포 모델에서 各项活动严格按照线性方式进行, 활동에서 현재 사용중인 작업의 결과를 받아, 필요한 내용의 이행이 완료합니다. 작업의 결과 현재 사용중인 需要进行验证확인하는 경우, 다음 활동에 대한 입력으로 결과는, 활동은 아래에, 그렇지 않으면 수정 계속했다. 폭포 모델 强调文档的作用물어 每个阶段都要仔细验证. 그러나,이 모델의 선형 프로세스가 太理想化더 이상 현대 소프트웨어 개발 모델에 적합하지, 거의 업계에서 버려진, 주요 단점은 즉 :

  • 큰 부하를 증가 스테이지 사이의 문서의 완전히 고정 된 다량의 다양한 단계를 나누고
  • 개발 모델은 선형이기 때문에, 오직 위해 개발의 전 과정이 끝날 때까지 사용자는 따라서 개발의 위험을 증가 결과를 볼 수 있습니다
  • 초기 실수는 개발 테스트 단계의 후반 부분을 찾을 수있을 때까지, 다음 심각한 결과를 기다려야 할 수도 있습니다
    여기에 그림 삽입 설명

1.3. 증분 모델

또한 진화 모델로 알려져 있습니다. 증분 모델에서, 소프트웨어, 디자인, 테스트 및 통합을 구현하는 증분 부재의 일련이며, 각 부재는 증분 모델 구성의 상호 작용에 의해 형성되는 코드 부분의 다양한 모듈들에 의해 특정한 기능을 제공하는 것이다 在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品. 이 제품은 제품을 제공하기 위해, 여러 구성 요소로 하나의 구성 요소 개발자가 하나를 세분화, 그렇게의 혜택은 해당 소프트웨어의 개발은 더 나은 변화에 적응 할 수있다, 고객 개발의 위험을 감소, 소프트웨어 개발을 계속 볼 수 있습니다. 그러나, 증분 모델은 또한 다음있다 缺陷:

  • 각 부재가 서서히 생성 부에 통합되어 있기 때문에 양호한 시스템 소프트웨어 구조를 가지며, 멤버들은 소프트웨어 개방형 구조를 포함 할 필요 파괴 첨가되지 않아야
  • 개발하는 동안, 수요의 변화는 불가피하다. 능력 증가 유연성의 모델은 폭포수 모델과 신속한 프로토 타입 모델보다 훨씬 더 이러한 변화에 적응뿐만 아니라 쉽게 모델을 변경할 수행하여 학습으로 변질 할 수 있도록 있도록 공정 제어 소프트웨어의 무결성의 손실.

참고 :

  • 증분 모델을 사용하는 경우 第一个增量往往是实现基本需求的核心产品.
  • 평가를 통해 사용자에게 전달 핵심 제품 후 수정 및 핵심 제품의 새로운 기능 게시를 포함하는 다음 증분 개발 계획을 형성한다. 이 과정은 최종 완벽한 제품까지 각 증분 출시 후 반복
    여기에 그림 삽입 설명

1.4. 조형 모델

첫 번째 단계는 신속한 프로토 타입 모델로 建造一个快速原型,实现客户或未来的用户与系统的交互, 사용자 또는 평가를 프로토 타입 고객, 소프트웨어를 개발하는 것이 더 세련 될 필요가있다. 에 의해에게 逐步调整原型使其满足客户的要求개발자 Keyiqueding 고객의 진정한 요구가 무엇인지, 두 번째 단계는 첫 번째 단계에 기초하여 고객 만족의 소프트웨어 제품의 개발이다. 분명히, 폭포수 모델의 단점을 극복 할 수있는 신속한 프로토 타입 방법은 减少由于软件需求不明确带来的开发风险, 상당한 효과가 있습니다. 신속한 프로토 타입은 关键在于尽可能快速地建造出软件原型, 고객의 실제 요구하면, 프로토 타입 구조는 삭제됩니다. 중요한 신속하게 프로토 타입을 구축 할 필요가있다 따라서, 프로토 타입 시스템의 내부 구조는 신속하게 고객의 요구를 반영하기 위해 프로토 타입을 수정, 다음 아니다.

1.5. 나선형 모델

将瀑布模型和快速原型模型结合起来强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

  • 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
  • 风险分析:分析评估所选方案,考虑如何识别和消除风险
  • 实施工程:实施软件开发和验证
  • 客户评估:评价开发工作,提出修正建议,制定下一步计划

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制:

  • 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发
  • 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目
  • 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。
여기에 그림 삽입 설명

1.6.喷泉模型

也称面向对象的生存期模型或OO模型,喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还可以嵌入子生存期。就像水喷上去又可以落下来,可以落在中间,也可以落在最底部。

2.软件测试模型

软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理 。测试专家通过实践总结出了很多很好的测试模型。这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,是测试管理的重要参考依据。

2.1.V模型

V模型目的是改进软件开发的效率和效果,是瀑布模型的变种:

  • V模型明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系
  • V 모델을 표시하고, 통합 테스트를 수행하는 프로그램 단위가 소프트웨어 설계 요구 사항을 충족 검사를해야한다, 시스템 테스트는 시스템 기능을 감지합니다, 품질 특성 성능 지표 시스템 요구 사항에 도달, 소프트웨어가 사용자의 요구 또는 계약을 충족할지 여부를 결정하기 위해 시험 합격을 달성 요구 사항

局限: 단순히 부호화 후의 테스트 단계로서, 테스트 요구 단계에서 입력되지
여기에 그림 삽입 설명

2.2.W 모델

W 모델 增加了软件各开发阶段中应同步进行的验证和确认活动. W 모델을 나타내는, 두 개의 V 형 모델로 구성 도 분명 평행 테스트 개발에 도시 된 프로세스.测试开发

  • 특징 : 목적은 절차, 요구 사항, 디자인 등의 테스트되지도 테스트해야, 테스트 및 개발을 동시에 수행
  • 장점 : 찬성 尽早地全面的发现问题. 문제가 가능한 한 빨리 자리하고있는 곳 예를 들어, 요구 사항 분석의 완료 후, 테스트 인원은 검증 및 발견하기 위해 요구 사항의 검증에 참여해야한다. 동시에, 테스트에 대한 수요가 항목의 어려움과 시험 위험 뒤지지 않도록하는 것이 도움이됩니다,及早制定应对措施,显著减少总体测试时间,加快项目进度
  • 제한 사항 : 요구 사항, 설계, 코딩 및 기타 활동 직렬로 간주되며, 테스트 및 개발 활동이 작업의 다음 단계의 공식 시작하기 전에, 완전히 무대에 완료 선형 상황을 유지 할 수 있습니다. 우리는 민첩한 개발 모델을 지원할 수 없습니다. 현재의 복잡하고 변화하는 소프트웨어 개발을 위해, W 모델 및 테스트 관리는 혼란을 해소하지 직면
    여기에 그림 삽입 설명

추천

출처blog.csdn.net/LiLiLiLaLa/article/details/91060780