敏捷开发时代:软件安全测试需更灵活

我们生活在一个软件定义的世界中。软件几乎接触到方方面面。任何努力保持竞争优势或市场先机的企业,都必须在某种程度上重新整合其软件。这会导致快速的开发方法,如敏捷开发和开发运维,促进持续的产品改进。但是,这些新的开发方法能够使测试最小化,反过来又可能破坏性能和安全性。

为保持竞争优势,企业必须提供高质量的应用体验。此外,安全是必须的而不是“有安全性也不错”。因而,持续的测试方法已经日益重要,其动态性就像新的开发过程一样。幸运的是,企业越来越明白这种不断增长的需要,并且重新思考整个过程。

推动测试升级

软件开发的新步伐给测试人员带来一个非常确切的问题,那就是测试者在没有规划好明确路线图的情况下必须快速响应。如果产品的开发团队被招集起来按照最新的时间表进行产品更新,直至发布日期再次更改,这往往会导致执行不力,因为解决方案存在未知的漏洞和缺陷。

但是,即使消费者的期望促进更快的开发步伐,也会提出质量问题。终端用户期望快速、稳定和安全。及早测试和经常测试已经慢慢占据了开发者的思想,而易于使用和功能的重要性也继续增长。还有一个问题,即新应用和设备如何使用。软件无处不在,糟糕的开发方法可能导致大问题,其范围涉及从自动制造问题到个人信息的失窃等诸多方面。新一波技术所产生的复杂性要求更为严格的评估周期。

培育改变的文化

随着开发越来越快,企业和客户需要在思想观念方面有所转变。促进更快开发的文化还需要倡导灵活的测试方法。

这要从测试方法和培训开始。开发者、测试人员和版本管理员需要认可和实施一种连续性的测试观念。更具体地说,这些人员需要在此过程中得到培训,在一个快速开发周期中进行测试时,还要有可用工具。跨队的交流也很重要,尤其是在质保经理和开发者之间的交流更为重要。在完成此步骤后,代码将更加稳定,而漏洞的解决速度也会更快。适当的工具可以模拟真实的情况,提供共享的测试数据环境,并且总保持可用性,还能够与主要的代码库框架相集成。

在成功实施后,持续的测试和培训可以防止漏洞和性能问题的产生,同时又可以使开发人员在将来更好的找到问题。确认可疑活动和采取什么行动也会变得更为容易。企业应当避免利用有限规模的测试环境,如内部开发攻击,或者是众包探测,否则就会带来一种错误的安全感。

最后,在并非为满足紧迫的时间表而进行的测试中,关键的问题是不“走捷径”。
迭代开发确实意味着在问题出现时并不能解决。我们还希望进一步扩展,以求在下一个软件版本中包括另一种特性。这就需要在增加新特性和测试已有特性之间寻求平衡。适当的方法有助于减少缺陷、响应时间,以及因业绩不佳对品牌造成的负面影响。开发者、测试者、版本管理员如果及早测试,并且在将其贯穿整个过程,就有能力增加稳定性和安全性。

本文作者:赵长林

来源:51CTO

时间: 2024-10-22 20:07:21

敏捷开发时代:软件安全测试需更灵活的相关文章

Gartner:敏捷开发的10大指导原则

 据Gartner的资料表明,一众CIO现在有压力,需要支持快速发展的数字业务发展,而同时又遇上传统项目和开发方法不能与时俱进的难题.企业现在大量采用敏捷开发,以加快项目进度及更好地显示其价值. Gartner应用架构.开发和整合峰会下个月在悉尼召开.Gartner公司研究总监Nathan Wilson在会议前夕表示,敏捷方法如果使用得当,是有能力改变IT业务关系以及对IT价值交付产生重大的正面影响.而CIO和整个IT管理团队必须悉心培养获得成功所需的变革文化,只有这样才能交付相应的价值. Wi

敏捷开发和测试中重现缺陷和验证缺陷的解决方案(1)

第1部分:部署重现缺陷的环境 简介:本文为系列的第一篇文章,首先简述了系列的主旨和每部分的内容.然后针对敏捷开发和测试中开发人员重现测试人员开出的缺陷这一问题,具体描述了如何用IBM工具Rational Automation Framework以及IBM Workload Deployer快速记录和部署重现缺陷所需的测试环境,从而让开发人员可以更快速准确地获得重现缺陷的环境. 系列背景简介 在敏捷开发的大环境下,产品需要根据用户的需求不断进行变化,产品版本的研发周期越来越短,产品的交付速度越来越

针对敏捷开发和测试中开发人员:部署重现缺陷的环境

在敏捷开发的大环境下,产品需要根据用户的需求不断进行变化,产品版本的研发周期越来越短,产品的交付速度越来越快,只有开发和http://www.aliyun.com/zixun/aggregation/9621.html">测试人员之间保持更加有效更加频繁的交互才能保证产品按时高质量地交付给用户.其中,开发人员和测试人员之间交互最多的部分就是缺陷 (defect) 问题的讨论.当测试人员发现问题并提交缺陷以后,开发人员需要重现测试人员发现的问题,并进行研究.最终针对缺陷的产品代码改动被开发人

使用.NET进行高效率互联网敏捷开发的思考和探索

不知从什么时候开始,创业变得很廉价,谈什么都是互联网,动辄融资千万.这阵风好像也刮向了程序员中,有那么一大批开发者,数据结构不好好学习.数据库原理不扎实掌握,在github上发布几个项目,用nodejs创建一些服务,再用H5写出APP,就自以为迈入了高级程序员的队伍,能够运筹帷幄互联网项目,难道学习新技术.新理念就是快速成长吗,显然不完全是,在这浮躁的氛围中,各种粗制滥造的互联网网站.APP接踵而至,很多看似漂亮的APP,连简单的http接口安全都没有措施应对,很多美丽的响应式网站,目录结构随意

微软软件研发策略转变之路 从瀑布式走向敏捷开发

长久以来,身为"软件开发商"的微软的名声并不太好,倒不是人们对微软的软件产品不满意,而是其更新周期太过漫长,比如Office.Windows.SQL Server和Exchange等主打产品的更新周期都长达3年左右,这其中的主要原因就是微软在软件项目的开发中采用了瀑布式开发模式.但随着用户对软 件的需求越来越苛刻,瀑布式开发模式已经难以满足新型软件的开发要求,而微软也不得不改变自己的软件研发策略. 国外科技媒体Arstechnica日前发文对微软软件研发策略的转变之路进行了分析. 以下

敏捷开发与项目管理实战之敏捷需求分析

问题背景 敏捷开发中许多活动都是全员参与而非专人参与.需求分析同样也可以是全员参与 的一个活动.这反映了敏捷开发的"个人与交互胜过过程与工具"的价值观.需求分析是在需 求理解的基础上进行的.因此,全员参与需求分析有助于及时发现团队成员对同一个需求理解不一致的 问题,这很大程度上避免了缺陷的引入.另外,也有助于规避人力风险.比如,一个需求的开发者突然 需要请假,其他开发者可以马上顶替他,因为其他人也参与了其负责开发的需求的分析.此外,全员参 与需求分析也有助于全体成员的能力的提升.但问题

敏捷开发的几点建议

同步发表在:http://snowdream.github.io/blog/2016/04/07/agile-development-advices/ 移动互联网行业由于节奏快,产品迭代周期短,因此多采用敏捷开发进行快速迭代.下面我从Android客户端研发的角度,说说敏捷开发中的几点建议: 模块化 当项目开始变得很大时,需要按照主要功能进行模块化.同时对人员进行分组,每组负责一个主要模块.由于迭代周期短,任务重,可能在开发过程中,某个模块无法按照要求,在既定的时间内完成开发任务.这时,应该由产

iOS WKWebView 混合应用开发时代来临 - 嵌入式 JS 的调试成为催化剂

iOS WKWebView 混合应用开发时代来临 - 嵌入式 JS 的调试成为催化剂 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 早在五年前,在哈尔滨大街小巷的饭馆儿里,经常听到店老板抱怨服

敏捷开发实战随记

敏捷实战实施背景,地产行业信息化管理某知名企业,为了快速切入和抢占互联网市场,某产品研发部实施敏捷开发,通过短期快速灵活方式提升自己产品生产能力. 1.团队建立.确立目标和制度 以两周为一个大冲刺周期,大冲刺内实现和完成产品指定功能升级: 以每周为一个小周期,实现每日构建,开发人员完成后立即提交到测试环境由测试人员进行测试: 团队化分为平台小组.接口小组.开发A组.开发B组进行不同分工作业,每组设置小组长一名带领各小组完成冲刺目标: 整个团队设总监1名.有个产品经理.2个PM带领大团队进行产品升