国内许多软件开发公司缺乏项目的规范化管理体制,软件的开发过程类似“作坊式开发”,一些有点规模的软件开发公司虽然建立了一套规范的项目管理体系,但是由于开发的软件规模不大、工期紧等原因,往往是规范让步。
这种“作坊式开发”往往给成功开发项目带来比较大的风险,项目的失败或者表现为无法实现的不可为、或者表现为开发周期的不可控制、或者表现为项目结果为用户所不认可、或者表现为项目的严重亏损,这种失败的惨痛结果可以出乎人们的意料,以至使人无所是从。
许多软件公司都存在着重开发、轻测试的现象,尤其是一些规模不大的项目根本不安排测试人员参与,有的公司甚至没自己的测试团队。测试的目的之一是能够降低客户在使用产品时发生问题的风险,同时也是在有限的时间内将客户使用产品时发生问题的风险降到比较小的过程,测试有助于提高软件的质量。
所以在软件开发的初期引入测试,将测试贯穿到软件项目的整个开发过程中是比较有效的,早期介入测试有助于提早发现问题,同时对大幅度的降低项目风险有比较大的好处。在软件的需求分析阶段就可以设计出测试计划书,并对需求进行审核、测试,论证需求是否可以满足用户的要求,从而减少需求风险。
在设计阶段,可以明确“黑盒”测试的目标,设计出有效的、可以完全覆盖的测试用例,这种针对函数的测试有助于较早期的发现问题,将软件缺陷消灭在开发早期。在编码阶段,进行每日编译、每日测试,测出的软件缺陷在当天可以处理,从而确定了把缺陷消灭在早期。这时测试与开发已经理想的结合起来,做到测试与开发的同步,并且不相互冲突。
由于测试与开发是同步进行的,所以在开发的后期主要进行的是对开发过程中发现的问题的回归测试。因为在编码阶段软件缺陷发现的差不多了,所以这时主要的精力可以放在集成测试,性能测试,兼容性测试等一些测试上来。这样项目的进度可以得到有效的控制,不至于造成比较大的风险。
领取专属 10元无门槛券
私享最新 技术干货