2008年8月13日

软件性能测试几个方面--有点乱

从“性能”字意上来理解,很难理解它本身包含的意义,软件性能是个比较大的概念,它是一个具体的软件系统在既定环境下运行时对效率的衡量。人们一般用“性能测试”来检验被测试软件系统或构件对于其设计目标的符合程度。对一个纯粹的应用系统而言,最为软件从事人员熟悉的“性能”经常会被描述成:“某一段时间中所能完成的工作量”。比较常用的软件性能参数有响应时间和工作效率等的,应用程序在单位时间内完成的工作量越多,它的性能就越好。我们在这个工作量的概念往下层剖析,在预定的时间内通过程序把输入(数据)单位转换成为输出(数据)单位的数量。从这个意义上而言,这个问题仅仅是说明了性能的一个方面,那就是执行速度快。但性能问题还包含其他方面,如稳定性、系统资源开销等,在目前的日趋复杂的社会环境中,要保证一个软件具有比较好的“性能”,除了需要考虑很多技术问题外,还需要考虑更多非技术的因素。
有时正确的代码、正确的业务逻辑并不能保证项目的成功,性能往往是最后决定一个应用系统是否成功关键。为了追求商业上的利益,满足市场和消费者的要求,在现在的很多应用系统中,提供符合功能需求但不符合性能需求的软件是不能被接受的。但是在没有到投入商业生产的时候,系统真正的系统性能状况谁都不可能知道,这个就需要搭建测试环境进行测试,这是一个面都尽量模拟生产时可能发生的事情。性能测试可以发生在各个测试阶段中,一段重要的业务逻辑代码、重要的SQL语句,语句都可以进行单独的性能测试,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起之后,才能完整的,全面的,从各个视角来检查一个系统的真正性能,这个关联的因素就更多了。
目前对性能测试没有明确的定义和标准,对从事这个工作的技术人员也基本没有一个基本的知识结构要求,一般的工作是,针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。
跟其他行业的测试一样,软件性能测试也不例外,我们要实施软件测试的目的是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度,软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件性能测试存在的价值和意义。一般说来,在软件测试中我们应该尽量地保持软件测试简单性,切勿将软件测试过度复杂化,拿物理学家爱因斯坦的话说就是:Keep it simple but not too simple。


若需转载或其他需要,请跟作者朱汉强联系。
联系邮箱:johannes_zhu@yahoo.com
广州益标软件技术有限公司为您提供高质量的软件测试和咨询服务。
欢迎访问:http://www.3rdtest.com/

没有评论: