测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 【9】【完】

注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。

测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 2nd Edition
作者:GLENFORD J. MYERS
Revised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler

9.3.3.2 数据完整性
数据完整性测试是在你的数据库表中查找错误数据的过程。这个测试和你在测试商务层的时候进行的数据验证不同。数据验证主要是要找到在数据收集的时候有什么错误发生。数据完整性的检查是努力找到你存储数据过程中的错误。

很多因素会影响到你如何去存储数据。数据的类型和长度可能使得数据被截断或者损失精度。比如在日期和时间区域中,时区的问题就会发生。比方说,你存储时间基于客户端的本地时间,还是Web服务器,程序服务器还是RDBMS的本地时间?国际化和字符集可能也会影响到数据的完整性。比如,多字节的字符可能占去两倍的存储空间,另外他们也会导致查询时得到一些填充的无用数据。

你还应该调查一下你程序所使用到的查询/参考表格的数据准确性,比如消费税,邮编,还有时区信息。不只是你必须确保这些信息是对的,你还要保证他们能得到及时的更新。

9.3.3.3 容错和可恢复

如果你的电子商务站点依赖于RDBMS,那么这个系统必须一直开着保持运行。在这个方案中几乎没有可以停下来的时间。因此你必须测试你数据库系统的容错和可恢复性。

数据库操作的一个目标,通常来说就是把MTBF最大化和MTTR最小化。你应该在你电子商务站点的需求文档中找到标明的这些数值。你测试数据库系统的强壮程度的时候你的目标上就是要超过这些数值。

MTBF的最大化是依赖于你数据库的容错等级。你可能有一个可以让你在主系统发生问题时把主数据转移到一个新的数据库的容错转移结构。如果这样的话,你的顾客只是感觉到一个很短暂的服务停顿,但是系统还是可以用的。另外的方案就是你在你的程序中建立一个容错转移系统,当你的数据库当机的时候对系统的影响会很小。你的测试将会依赖于这个结构。

你还需要考虑数据库的恢复,这也相当重要。数据的恢复性测试的目的在于创造一个你无法恢复数据库系统的方案。在某些时候,你的数据库可能会崩溃,所以你必须有一个快速恢复它的步骤。恢复的计划,在开始需要包括一个对备份的验证。如果你不能在可恢复性测试时恢复数据库,他们你需要改变你的备份方案了。

-EOF-

Technorati Tags: ,