栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

不同软件开发流程和模式下的软件测试

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

不同软件开发流程和模式下的软件测试

目录

​​​​​​不同软件开发流程和模式下的软件测试

1.1“流程派”-CMM/CMMI中的软件测试

1.2“流程派”-ISO中的软件测试

1.3“个体派”-敏捷开发中的软件测试

软件测试方式的选择

2.1 公司组织结构和软件开发模式

2.2 产品定位和更新换代频率

2.3 软件开发和测试人员个人素养



  1. ​​​​​​不同软件开发流程和模式下的软件测试

软件测试作为软件工程中的重要一环,是项目成败的一个不可忽略的内容,但是

不同的开发流程和模式下,不同的项目和不同的产品应该采用不同的软件测试方法。

       按照软件工程的两大流派,可以分为“流程派”和“个体派”。

       “流程派”以CMM和ISO为代表,强调形成文档的制度、规范和模板,严格按照既定的流程工作,按照要求形成必要的记录、检查、监督和持续改善。因此测试人员在实施这样的流程改进方式的组织中工作,需要注意是否按照测试流程定义的模板进行,填写必要的测试记录和报告,度量测试的各个方面是否符合要求。

       “个体派”以新兴的敏捷开发为代表,强调人在过程中发挥的价值。

1.1“流程派”-CMM/CMMI中的软件测试

        CMM是1987年美国卡耐基梅隆大学软件工程研究所提出的“承制方软件工程能力的评估方法”。CMM把软件企业的过程管理能力划分为五个等级。

  1. 初始级:个别的、混乱无序的过程,软件过程缺乏定义,项目的成功严重依赖于某几个关键人员的努力。软件质量由个人的开发经验来保证。
  2. 优化级:关注改进的持续性,融入了技术改革、缺陷预防等理念。软件组织可从自己的过程控制和管理中得到反馈信息,用于进一步指导过程的改进。
  3. 已管理级:加入了评估和度量机制,利用评估和度量来对软件过程以及产品做出合理的判断和控制。
  4. 已定义级:所有的项目遵循一定的标准进行管理,具备可量化的、文档化的过程管理。进一步减少了项目成功对于人的依赖性。
  5. 可重复级:实施了基本的项目管理和过程控制,依赖以往项目的成功经验来确保新的类似项目的成功。

对于软件测试,在其中需要考虑的是否有规范的流程,与开发人员如何协作,Bug如何记录和跟踪,还需要关注测试人员的技能水平是否达到一定的要求,是否建立培训机制。

1.2“流程派”-ISO中的软件测试

        ISO 9000质量标准体系是在20世纪70年代由欧洲首先采用的,后来在美国和世界各地迅速发展起来。曾经很多企业热衷于ISO认证。

        ISO基于戴明环PDCA(Plan-Do-Check-Act)提出了测量、分析和改进的重要性,使用测试作为软件测量的重要手段。它要求测试人员得到有关授权才能进行测试活动,应该得到充分的培训和指导,确保测试人员有足够的能力对软件产品进行测试。

        ISO非常强调缺陷的控制,包括对缺陷的修改进行回归测试和验证,对缺陷进行分析和审批,确保缺陷在交付使用前得到控制,并确保对缺陷制定了纠正预防措施,形成预防机制,防止缺陷的再次出现。

1.3“个体派”-敏捷开发中的软件测试

        敏捷开发中,测试是整个项目的“车头灯”,告诉大家现在到哪里了,正在朝那个方向走。测试人员为项目组提供丰富的信息,使项目组基于这些可靠的信息作出正确的决定。

        敏捷开发中,测试人员不做出发布的决定。也不是只由测试人员来保证质量,而是由整个项目组中的每一个人对质量负责。

        测试工作的核心内容并没有变,就是不断地找Bug,只是要调整好自己的心态,一切以敏捷的原则为主。

        可以多考虑以下的内容:

  1. 更多的采用探索式测试方法
  2. 更多的采用上下文驱动的测试方法论
  3. 更多的采用敏捷自动化测试原则

 敏捷测试认为要持续的测试,不断地回归测试,快速的测试。

软件测试方式的选择

是选择流程派的软件测试,对软件产品精雕细琢,还是采用看起来效率更高的敏捷测试,要考虑的因素有许多。

2.1 公司组织结构和软件开发模式

        如果一个公司是将研发人员和测试人员分为两大块,产品开发周期非常长,测试人员无法早期接触到产品,那毫无疑问公司已经选择了流程派的软件测试方式,因为这种情况下测试人员是无法敏捷测试的。

2.2 产品定位和更新换代频率

        如果一个产品是频繁更新需求的,比如一个网站,一个APP,那么这时候必然是敏捷测试,因为它要和用户在很早期就进行互动,去获得市场的反馈并进行调整,产品的设计会随着用户的使用情况不断进行调整,那么耗费时间的详细测试往往会拖累产品发布的节奏,既没有必要,也是无用的。

        如果一个产品,类似于自动驾驶操作系统等,这种非常关键而重要的,很少会有大的修改的,而一旦有严重 Bug 会造成非常严重后果的,那么严密的流程派测试是必须的,中间也可以采用部分产品的迭代测试,但毫无疑问,在产品正式发布前,它必须经过了各种规范的验证,以保证产品的品质。

2.3 软件开发和测试人员个人素养

        对于流程派测试而言,需要更多流程把控人员(PM),对测试人员的专业测试技能要求更高,能懂coding更好,各种专业测试技能往往体现在集成和系统测试中。这些技能是无法用自动化工具取代的。

        对于敏捷测试而言,要实现敏捷测试,几乎必须得有自动化工具的帮助,测试人员需要能构建自己的测试工具和自动化平台,借助自动化测试提高测试效率和质量水平,这也催生了测试开发人员。高效率的测试工具有时候会抵消测试人员在测试用例撰写方面的欠缺,当然如果同时具备那是更好的。

        但是不管哪种测试人员,都需要高度的责任心、专业的工作态度。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355129.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号