第三章 测试验证点性能测试的目的是验证系统性能方面的各项指标是否符合生产环境的须要。在进行性能测试的过程中 为了对个别指标进行测试,需要模拟出形成系统压力的用户行为和活动,通过虚拟用户的行为和动作出发 实际的性能测试过程。在功能测试中,是通过验证点来判别测试是通过还是失败,并测试出系统的功能是 否正确。与功能测试不同,在性能测试中,验证点并不是测试通过与失败标准,验证点只是验证虚拟用户 与系统的交互是否正常的手段。在本章节中,我们将对性能测试中的验证点进行说明,包括验证点的类型、 用途和使用方式。 3.1 验证点的类型一个验证点拿来验证期望的系统行为是否发生。在性能测试中只有期望的系统行为发生了,我们能够 准确的测定系统的各项指标。因此,我们须要通过为测试设定验证点来保证测试的真实性和准确性。比如, 在对一个购物网站的登入系统进行性能测试时,我们的测试目标是评判在100 个用户同时登录成功时系统 的响应时间。如果我们只是为测试创建了100 个虚拟用户来执行登录的行为,那测试下来的结果可能并不 准确。因为在这100 个用户同时登录时,可能会由于个别缘由,其中的一些虚拟用户登录失败。这样测试 出的结果就不能代表100 个用户登录成功时的负载,因此测试的结果也是不确切的。
为了测试的结果的准 确与真实性,我们须要为测试设定验证点,验证每一个虚拟用户是否登录成功。比如,我们可以为登录请 求设定一个页面标题验证点,这种验证点通过对返回页面的标题进行比较来判定系统的响应是否是用户期 望的结果。在登入实例中,如果登录成功你将见到一个标题为“登陆成功”的页面返回,这个页面的标题 就是一个挺好的验证点。通过它你就可以判定用户是否登录成功。在 Performance Tester 中,当包含一个验证点的测试运行时,如果被期望的行为没有发生,一个错 误将被报告下来。在 Performance Tester 中支持三种验证点。 页面标题验证点:如果没有页面标题,或者标题与期望的不同,一个错误报告被生成。 响应代码验证点:如果响应代码与期望的不同,一个错误报告被生成。 响应大小验证点:如果响应的大小与期望的不同,一个错误报告被生成。 内容验证点:响应中是否包含了预期的字符。 页面标题验证点通过页面的标题来判定系统的响应是否正确。这种验证点的最佳使用场合是,在开发系统的用户界面 时,每一个页面都有一个惟一的页面标题。这样就可以通过此标题来验证系统的响应是否与期望的响应相 同。
响应代码验证点此类型的验证点通过系统返回的响应代码来判定系统的响应是否正确。在HTTP/HTTPS的应用中, 每一个恳求的响应都具有一个响应代码。这些响应代码表示了不同的响应状态。比如,404 代表恳求的页 面或则资源不存在,500 代表服务器内部出现错误。你可以使用这些验证点来验证系统运行状态。 响应大小验证点此类型的验证点通过响应返回数据的大小来判定统的响应是否正确。这种验证点的使用主要是为判定 在特定大小的响应返回数据时,系统的性能情况。比如,在一个购物网站中,当一个用户通过关键字查找 一个物品时,可能会出现好多符合条件的条目(比如1000 条),如果在一个页面上显示所有的条目,返回 的数据将特别大,用户将会等待很长时间。这种情况就须要分页显示。但是一页中显示多少个条目是最佳 的,就须要通过为性能测试设定响应大小验证点来判断。 内容验证点通过判定响应内容中是否包含了特定的字符内容来判断测试是否正确,支持正则表达式。可以通过这 种类型的验证点来判定响应内容中是否包含了期望的数据。 3.2 添加验证点下边的过程才能为特定的测试来选择测试验证点。添加验证点:1. 打开测试。图3.12. 在测试编辑器中,点击测试的名子、一个测试包或则一个页面恳求。
你的选择决定了验证点的范围:你选择的验证点是否被加到所有的测试页面,只是针对测试中的某一特定页面添加验证点,或者对一个页面的特定恳求添加验证点。3. 右键点击你要添加验证点的项目,选择下边中的一个:选项描述启用页面标详尽信息在以下部份介绍。页面标题验证点不能被添加到恳求和响应,因此题验证点当一个恳求或响应被选取时,这个选项不会被显示。启用响应代详尽信息在以下部份介绍。码验证点启用响应大详尽信息在以下部份介绍。小验证点选项描述启用内容验详尽信息在以下部份介绍。证点图3.24. 你也就能很容易的关掉在一个测试中的验证点。 3.2.1 设定页面标题验证点你才能验证对于一个测试是否有一个特定的页面标题被返回了。页面测试元素详尽信息包括了一个页标题验证点的部份。图3.3选中一个测试,使用启用页标题验证点选项对这个测试的所有页面启用验证点。选中某一个特定的页 面,使用启用页标题验证点选项对这个页面启用验证点。你也可以任意的选取页面的组合来启用验证点。预期页标题域包含一个当页面被加载时期望包含的页面标题的字符串。缺省情况下,这个字符串是页 面中 标记中包含的内容,记录的标题域是被这个页面的主恳请返回的标题。
当启用验证点 检查框被选中时,这个值手动的被拷贝到记录的标题域中。无论何时运行带有启用了的页标题验证点,当 预期的标题和实际返回的标题不匹配时,将会有一个错误被报告下来。匹配意味着记录标题包含预期页标题的字符串。在比较中,多个空格被忽视,比较是字符大小写敏感 的。 3.2.2 设定响应代码验证点你才能验证一个测试是否返回了预期的响应代码。当你为一个测试页面的恳求启用响应代码验证点时,一个响应代码验证点文件夹将会添加到测试内容 层次结构中。如下图所示,当你点击这个目录时,测试元素详尽信息将显示响应代码编辑域:图3.4选中一个测试,通过选中启用响应代码验证点菜单项为一个测试的所有页面中的每一个恳求添加一个 选项。选中一个特定的页面,通过菜单选项为这个页面的所有恳求添加这个验证点。你也可以选中一个页面 中的特定恳求为她们添加这些验证点。对于任何包含响应代码验证点的恳求你可以通过点击测试元素详尽 信息页中的启用验证点检测框来有选择的启用或则禁用验证点的使用。图3.5响应代码包含在响应文件夹名中。这是每位恳求返回的状态值。假如你选择模糊匹配方式,在同一类 别中的响应代码(比如,200、201 、203 、209 )被觉得是等同的。
只有在返回的响应代码与期望的代码 不是一个类别时才报告错误。如果使用的是精确匹配方式,如果返回的响应代码与期望的代码不一致,就 会报告错误。 3.2.3 设定响应大小验证点你才能验证一个测试是否返回了预期的响应大小。当你为一个恳求启用了响应大小验证点,一个响应大小验证点文件夹会被添加到测试内容层次结构 中。如下图显示,当你点击这个文件夹时,测试元素详尽信息将显示出响应大小的编辑区域:图3.6选中一个测试,通过选中启用响应大小验证点菜单项为一个测试的所有页面中的每一个恳求添加一个 选项。选中一个特定的页面,通过菜单选项为这个页面的所有恳求添加这个验证点。你也可以选中一个页 面中的特定恳求为她们添加这些验证点。对于任何包含响应大小验证点的恳求你可以通过点击测试元素详 细信息页中的启用验证点检测框来有选择的启用或则禁用验证点的使用。上图显示了一个在主恳请中的响应大小验证点。对于主恳请缺省的匹配方式是范围,你可以使用一个 基于记录的响应大小的比率来设定范围。当测试运行时,如果实际返回的响应大小没有在你所设定的返 回内,将会报告错误。对于其他的恳求缺省的匹配方式是精确。当运行时,如果实际返回的响应大小与基于记录的响应大小 不是完全一致,将会报告错误。 3.2.4 设定内容验证点你才能验证一个测试的响应是否返回了预期的内容。当你为一个测试页面的恳求启用内容验证点时,一个内容验证点文件夹将会添加到测试内容层次结构 中。如下图所示,当你点击这个目录时,测试元素详尽信息将显示响应代码编辑域: