金牛区建设局网站,wordpress 小说,网站建设推广资讯,源码屋官网本系列文章md笔记#xff08;已分享#xff09;主要讨论测试理论测试工具相关知识。Python测试理论的主要内容#xff0c;掌握软件测试的基本流程#xff0c;知道软件测试的V和W模型的优缺点#xff0c;掌握测试用例设计的要素#xff0c;掌握等价类划分法、边界值法、因…
本系列文章md笔记已分享主要讨论测试理论测试工具相关知识。Python测试理论的主要内容掌握软件测试的基本流程知道软件测试的V和W模型的优缺点掌握测试用例设计的要素掌握等价类划分法、边界值法、因果图法、判定表法。了解缺陷的定义知道缺陷的详细信息。了解禅道、Jire的安装配置掌握禅道的使用,包括角色的常见、缺陷状态的修改。
全套笔记和代码移步gitee仓库 gitee仓库获取完整文档和代码
感兴趣的小伙伴可以自取哦欢迎大家点赞转发~ 共 5 章16 子模块 Python测试理论的主要内容 软件测试的基本理论 掌握测试的定义掌握测试的分类掌握测试的基本流程掌握测试的基本 原则 测试用例 掌握测试用例编写的要素掌握编写测试用例 缺陷 了解什么是缺陷了解缺陷管理的好处了解缺陷报告的内容 缺陷管理工具 禅道Jire
参考:
Jira中文官网禅道官网google软件测试之道优质代码:软件测试的原实践与模式
学习目标 掌握软件测试的基本流程 知道软件测试的V和W模型的优缺点 掌握软件测试的分类
软件测试的发展 1960年代是调试时期测试即调试
1960年 - 1978年 论证时期软件测试是验证软件是正确的和 1979年 - 1982年 破坏性测试时期为了发现错误而执行程序的过程
1983年起软件测试已有了行业标准(IEEE829)它需要运用专门的方法和手段需要专门人才和专家来承担。
1990年起软件迅速发展测试行业也更着发生了巨大变化开始引入专业测试工具
什么是软件测试
在规定条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程.
软件测试的目的
是想以最少的人力物力和时间找出软件中潜在的各种错误与缺陷通过修正各种错误和缺陷提高软件质量回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。
**注意:**不要和软件测试的定义混淆
软件测试的定义
使用人工或自动手段来运行或测试摸个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果和实际结果之间的差别.
软件开发过程模型 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程明确规定了要完成的主要活动和任务用来作为软件项目工作的基础。对于不同的软件系统可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等以及允许采用不同的软件工具和不同的软件工程环境。
软件开发过程模型是软件开发人员在公司里工作的过程.
常见的软件开发过程模型
瀑布模型快速原型模型增量模型螺旋模型
1. 瀑布模型 1970年温斯顿·罗伊斯Winston Royce提出了著名的“瀑布模型”直到80年代早期它一直是唯一被广泛采用的软件开发模型。
瀑布模型将软件生命周期划分为制定计划、需求分析、系统设计、程序编写、软件测试和运行维护等六个基本活动并且规定了它们自上而下、相互衔接的固定次序如同瀑布流水逐级下落。
1.1 核心思想
瀑布模型核心思想
在瀑布模型中软件开发的各项活动严格按照线性方式进行当前活动接受上一项活动的工作结果实施完成所需的工作内容。当前活动的工作结果需要进行验证如果验证通过则该结果作为下一项活动的输入继续进行下一项活动否则返回修改。
1.2 地位
瀑布模型是最早出现的软件开发模型, 在软件工程中占有重要的地位,它提供了软件开发的基本框架.
1.3 优缺点
优点:
1. 为项目提供了按阶段划分的检查点,软件开发的每个阶段都很清晰明了2. 当前阶段完成后,只要去关注后续阶段3. 可在迭代模型中每轮迭代很类似于一个小的瀑布模型4. 它提供了一个模版,这个模版使得分析、设计、编码、测试可以在改模版下有一个共同的指导缺点:
各个阶段的划分完全固定阶段之间产生大量的文档极大地增加了工作量由于开发模型是线性的用户只有等到整个过程的末期才能见到开发成果从而增加了开发风险突出缺点是不适应用户需求的变化软件的实际情况必须到项目开发的后期客户才能看到这要求客户有足够的耐心
4). 使用范围
用户的需求非常清楚全面且在开发过程中没有或很少变化开发工作对用户参与的要求很低。
2. 快速原型模型 快速原型模型的第一步是建造一个快速原型实现客户或未来的用户与系统的交互用户或客户对原型进行评价进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求开发人员可以确定客户的真正需求是什么第二步则在第一步的基础上开发客户满意的软件产品。
2.1 核心思想
快速原型是利用原型辅助软件开发的一种新思想。经过简单快速分析快速实现一个原型用户与开发者在试用原型过程中加强通信与反馈通过反复评价和改进原型减少误解弥补漏洞适应变化最终提高软件质量。
2.2 优缺点
优点:
克服瀑布模型的缺点,适应需求的变化,能够开发出更加让用户更加满意的需求
缺点:
所选用的开发技术和工具不一定符合主流的发展快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。使用这个模型的前提是要有一个展示性的产品原型因此在一定程度上可能会限制开发人员的创新。
2.3 使用范围
不适合大型项目的研发对所开发的领域比较熟悉而且有快速的原型开发工具
3. 增量模型 3.1 介绍
增量模型又称为渐增模型是把待开发的软件系统模块化将每个模块作为一个增量组件从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言采用增量模型进行开发开发人员不需要一次性地把整个软件产品提交给用户而是可以分批次进行提交。
3.2 基本思想
增量模型在各个阶段并不交付一个可运行的完整产品而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件开发人员逐个构件地交付产品这样做的好处是软件开发可以较好地适应变化客户可以不断地看到所开发的软件从而降低开发风险。
3.3 优缺点
优点
将待开发的软件系统模块化可以分批次地提交软件产品使用户可以及时了解软件项目的进展以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序先完成需求稳定的核心组件。当组件的优先级发生变化时还能及时地对实现顺序进行调整。
缺点
要求待开发的软件能给进行增量式的开发,否则会很麻烦在软件开发过程中需求变化是不可避免的,增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型但也很容易退化为边做边改模型从而是软件过程的控制失去整体性.
3.4 使用场景*
进行已有产品升级或新版本开发
4. 螺旋模型 1988年巴利·玻姆(Barry Boehm)正式发表了软件系统开发的“螺旋模型]”它将瀑布模型和快速原型模型结合起来强调了其他模型所忽视的风险分析特别适合于大型复杂的系统。
如图所示螺旋模型沿着螺线进行若干次迭代图中的四个象限代表了以下活动
1 制定计划确定软件目标选定实施方案弄清项目开发的限制条件
2 风险分析分析评估所选方案考虑如何识别和消除风险
3 实施工程实施软件开发和验证
(4 客户评估评价开发工作提出修正建议制定下一步计划。
螺旋模型由风险驱动强调可选方案和约束条件从而支持软件的重用有助于将软件质量作为特殊目标融入产品开发之中。
4.1 优缺点
优点:
设计灵活可以在项目各个阶段进行变更风险驱动,每个项目上线前都要进行风险分析
缺点:
螺旋模型强调风险分析,需要相当丰富的风险评估经验和专门知识,在风险较大的项目开发中如果未能够及时标识风险势必造成重大损失如果执行风险分析将大大影响项目的利润那么进行风险分析毫无意义
4.2 使用场景
适合使用大规模的软件项目
评估评价开发工作提出修正建议制定下一步计划。
螺旋模型由风险驱动强调可选方案和约束条件从而支持软件的重用有助于将软件质量作为特殊目标融入产品开发之中。
4.1 优缺点
优点:
设计灵活可以在项目各个阶段进行变更风险驱动,每个项目上线前都要进行风险分析
缺点:
螺旋模型强调风险分析,需要相当丰富的风险评估经验和专门知识,在风险较大的项目开发中如果未能够及时标识风险势必造成重大损失如果执行风险分析将大大影响项目的利润那么进行风险分析毫无意义
4.2 使用场景
适合使用大规模的软件项目