3.1 概念验证

在关注性能测试流程之前,我想用几分钟的时间重申一下为什么说POC(概念验证)是理解任何性能测试项目的前提。在频繁的销售环节中,POC提供了以下信息。

它提供了一个在技术上评估针对目标程序的性能测试工具的机会

我们在第2章讲述的内容中关注了挑选性能测试工具的流程。显而易见,依从技术是一个关键目标,否则您将会在事务脚本录制阶段举步维艰甚至会导致失败。您必须在真正的被测应用程序上对测试工具进行试验,这样才能暴露问题,才能在应用于项目之前解决这些问题。

识别脚本数据需求

标准的POC是围绕数目很少的事务构建而成的,这些事务将会组建性能测试项目的基础部分。这是一次针对脚本测试阶段的“彩排”,它能让您识别出执行成功所必需的输入数据和运行中的数据需求。因为在POC阶段,仅仅测试两到三个事务,所以您还需要更多数据需求来测试其他事务;识别这些数据需求要在以后的脚本测试阶段中进行。然而,POC将会不断地识别这些普通的测试输入数据需求,例如维持用户在会话有效期的登录认证和状态信息。

评估脚本

通过POC阶段,您可以估算一下为典型的应用程序事务编写脚本所需要的时间,然后根据这个时间和POC结果修改脚本。

在目标应用程序上演示性能测试解决方案的能力

如果您试图展示自动化测试工具的优越性,那没有比POC再好的平台了。

POC一览表

下面的一览表能够为您执行一个有效的POC提供指导。从时间方面来说,各个POC需要的时间各不相同,但是,如果能在一天的时间里就把测试环境和软件准备好的话,那么可以预期它将在一两天之内完成。

前提

尽早处理以下事项,保证在创建POC环境完成它们。

·您和客户(或者内部部门)共同制定一套成功或者退出标准,来衡量POC的成功或者失败。要在POC开始之前就把这些标准以书面的形式确定下来。

·配备一个标准的工作站或者说是客户端平台,使其能够满足性能测试工具及其解决方案对于软件和硬件最低规格的要求。这台机器必须有一个应用客户端,并且安装了所有支持客户端的软件。

·要在应用环境中安装一些必需的监控软件,例如服务器和网络监控器。

·最理想的情况是,有独立的权限去访问POC过程中的程序。

·能有一个熟悉软件的用户比如一位“高级用户”,当出现易用性问题的时候,您能找他们咨询一下。

·当您遇到技术性难题,或者需要知道软件架构在中间件环节是如何工作的时候,能找到一位专家咨询,比如说一位开发人员。

·有一个允许正确安装性能测试软件到标准工作站的用户账号,以及应用程序客户端的访问权限。

·如果与此问题相关,至少要准备两套登录目标程序的登录证书。因为单用户和多用户的操作是不一样的。因此,您需要用多个用户来运行POC。

·要有两个样本事务组成POC的基础。其中之一应该是一个简单的只读操作,另外一个应该是对目标数据进行了更新的复杂事务。这些能够让您检查事务响应是否正确。

流程

本表单可以帮助您确定POC是否为以后的测试提供了一个坚实的基础。

·为每一个样本事务录制两个事件,然后用最简便的方法比较两者的不同(使用Windiff是一种方法,虽然还有更好的方法)。您的性能测试工具也可以做这种工作。针对同一个操作分别录制多次,并找出它们之间的区别,能够使我们更清楚地知道需要什么样的“运行时数据”。

·完成针对输入和运行时数据需求的识别,以及所有对脚本必需的修改后,还要确定事务能够在单用户和多用户的条件下正确的回放。要确保数据库的更新与预期结果一致,以及事务回放日志里没有报错信息。在POC和随后的项目中,确定对于脚本的任何修改不会出现内存泄露的情况或者出现其他不可预知的错误。

注释

Windiff. exe是一个能够识别两个文件之间的差别的Windows应用程序;它是免费的,而且曾经是Windows系统的一部分。如果您还需要功能更加强大的工具,我可以介绍几个:

·ExamDiff Pro from prestoSoft(http://www.prestosoft.com/)。

·WinMerge(http://winmerge.org/)。

可交付

以下是POC的结果,让我们为将要到来的其他项目的基础建立信心。

·POC的结果应该是通过评价测试工具是否成功的运行脚本,回放应用程序的事务,从而做出此测试工具在适用性方面是否通过的评估过程。

·您需要确定这个范例事务的输入和运行时数据的需求,并且能够大致了解性能测试项目的数据需求。

·确定为了保证脚本准确回放做所有修改,以及评估录制一个应用程序事务脚本所需的大致时间。

·如果这涉及销售的环节,您还要给客户一个良好的印象,能够满足所有已承诺的成功标准,这样才可以圆满地完成这笔生意。