申请免费试用、咨询电话:400-8352-114
文章来源:泛普软件
软件测试学科的重要目标之一是防止软件熵值的升高,提高软件产品质量。熵原本是用来衡量系统无序状态的一个物理量,后来由计算机科学家Andrew Hunt和David Thomas引申到了软件领域,提出了“软件熵”(software entropy)这个概念。软件熵用来描述软件学科中这样一个事实:一个软件系统从设计良好的状态开始,随着新的功能不断地加入,系统逐渐地失去了原有的结构,变得
来越庞杂,最终变成了一个性能极不稳定、无法投入正常使用的软件系统。
这种情况在大型软件系统的开发过程显得尤为突出。通常采用瀑布模型或类瀑布模型开发方式的大型软件系统在设计阶段会被划分为好几个分系统,各个分系统又进一步向下细分。这样划分的好处是把一个复杂的问题分解为几个相关的小问题以便于逐个解决;弊端是在没有很好地采用软件测试技术的情况下,当把这些分系统集成为最终用户系统时系统的架构会变得越来越庞杂,熵值会持续升高,最终陷入功能紊乱、性能低下的境地。
而对于采用渐进式开发或迭代式开发的大型软件,如果在开发过程中没有实施软件测试技术,情况也往往会变得同样糟糕:在开发初期,最小功能系统并不会显现混乱的迹象,小的设计缺陷甚至是逻辑错误很难被觉察,但随着新的外围软件部件或功能模块的加入,种种隐藏的错误或冲突也将被引入到了系统中,这样,逐渐地,软件系统结构会越来越庞杂,隐藏的错误层次越来越深,而纠错工作也变得越来越困难,尤其是核心系统隐藏的缺陷和错误,有时候在开发过程中即使被发现了也难以回头做修改,因为开发总是受制于成本和进度的。核心系统的修改意味着软件关键部件的修改,这需要做大量的设计和编码的返工并需要修改所有与之相关联的外围软件部件。这种情况导致了采用渐进式开发或迭代式开发的软件系统的熵值也居高不下。因此,及时引入软件测试技术对无论是采用哪种开发模式的软件系统而言,都是很有益的。
软件测试学科除了把防止软件熵值升高作为学科目标之外,还肩负如下使命:为软件项目监理机构提供监控软件开发过程质量的实用方法,为软件评测机构提供切实可行的评价软件质量的技术手段。现代软件项目尤其是一些大型软件项目除了涉及承制方、发包方之外,往往还涉及工程监理机构。这些监理机构迫切希望有一套成熟的技术手段来监控软件承制方的软件过程质量。另外,随着软件质量意识的普遍提升,独立软件评测机构也如雨后春笋不断涌现。如何做到公正客观地评测软件产品的质量?软件测试恐怕是目前解决这个问题的最有效的技术途径。
来源:CCW