Key Concepts for Database Testing (Part 2)
Key Concepts for Database Testing (Part 2)Jesse Watkins-Gibbs, Project Manager, LogiGear Corporation
In a previous article on database testing considerations, I discussed referential integrity and security. This article will cover the additional topics of interfaces and data formats.
Interfaces
In today's complex applications, data must pass between one or more (typically many more) interfaces. Some of the typical types of interfaces which exist between the user entering or reading data, and the database may include, but are not limited to:
* Graphical user interfaces (GUIs) on the web or desktop
* Java, COM, or .net classes
* Web Services
* Screen-scraping of a legacy mainframe application
* Application programming interfaces (APIs) for access the database, such as ODBC, JDBC, and OLEDB
Bugs can be introduced at any of these interfaces, no matter whether you are reading, writing, updating, or deleting data.
Testing the interactions between all of these interfaces can be very complex, but I would suggest that at a minimum, you:
1. Understand all of the interfaces that data passes through between the user and the database.
2. Learn about the technologies used to implement each interface, and what the possible bugs are due to that interface.
It is possible to create tests which are run against each of these interfaces; however some of these tests may require some programming. If you are going to test against an interface other than the UI, it is important to understand what formats of data are expected at that interface. This leads us to the next topic, data formats.
Data Formats
Data in a database may be input from and displayed on a number of different types of systems, including Web-based applications, desktop applications, and handheld devices. Each of these types of systems has unique system limitations, which may dictate how data should be stored and/or formatted in your database.
Take dates as an example. Most Windows applications can accept dates up to the year 9999, but many handheld devices can only accept dates up to the year 2039, due to memory capacity limitations. If your database allows users to store dates past 2039, what happens when you try to display one of these dates on a mobile handset?
The format of data may also change as it passes through various interfaces between the user interface and the database. For instance, data may first be extracted from the database in tabular format, then converted into XML format so it can be transferred via a web service, then be transformed into HTML for display within a browser. At each one of these interfaces, the format of the data will be changed, and new bugs may be introduced.
Again, you can test the data at each of the interfaces, but it may require some programming. At a minimum, you should be able to identify all of the formats used to transfer the data between each interface, and understand some of the fundamental limitations of the technologies being used. This will allow you to create better test cases, and more intelligently analyze data-related bugs that appear during testing or pop up in production.
Conclusion
Database testing is one of the most challenging tasks facing a software QA team. At a minimum, team members should understand referential integrity and database security, and have a good grasp on the various technologies and data formats used to transfer data between the user and the database. 那位大侠翻译一下!!! <font color=red>test</font> Key Concepts for Database Testing (Part 2)
数据库测试的关键概念
Key Concepts for Database Testing (Part 2)
Jesse Watkins-Gibbs, Project Manager, LogiGear Corporation
In a previous article on database testing considerations, I discussed
referential integrity and security. This article will cover the additional topics of interfaces and data formats.
在以前的有关数据库测试的文章中,我讨论了引用完整性和安全性问题。这篇文章我将讲述另外的论题,就是接口和数据格式。
Interfaces
接口
In today's complex applications, data must pass between one or more (typically many more) interfaces. Some of the typical types of interfaces which exist between the user entering or reading data, and the database may include, but are not limited to:
在今天的复杂的应用中,数据必须通过一个或是多个(更多)接口。一些典型的接口如用户从数据库写入数据、读出数据,但是并不局限于此。
* Graphical user interfaces (GUIs) on the web or desktop
在web或是桌面上的图形化的用户接口
* Java, COM, or .net classes
Java, COM, or .net类
* Web Services
web服务
* Screen-scraping of a legacy mainframe application(Screen-scraping实在是不会翻译)
* Application programming interfaces (APIs) for access the database, such as ODBC, JDBC, and OLEDB
接入数据库的应用程序接口,比如ODBC, JDBC和 OLEDB
Bugs can be introduced at any of these interfaces, no matter whether you are reading, writing, updating, or deleting data.
在任何这些接口中,bug都能够被引入,无论你是读、写、更新或是删除数据。
Testing the interactions between all of these interfaces can be very complex, but I would suggest that at a minimum, you:
测试这些接口非常复杂,但是我建议你(做)
1. Understand all of the interfaces that data passes through between the user and the database.
理解所有有数据通过的接口,这些数据贯穿在用户和数据库之间。
2. Learn about the technologies used to implement each interface, and what the possible bugs are due to that interface.
学习相关的使用技术去实现每一个接口,学习对于那些接口可能引起的bug.
It is possible to create tests which are run against each of these interfaces; however some of these tests may require some programming. If you are going to test against an interface other than the UI, it is important to understand what formats of data are expected at that interface. This leads us to the next topic, data formats.
创建能运行在每一个接口上的测试用例是有可能的;然而这些测试也许要求一些规划设计。如果你将测试一个接口而不是一个用户接口,理解这个接口所规定的数据格式是很重要的。这就引导我们进入到下一个论题,数据格式。
Data Formats
数据格式
Data in a database may be input from and displayed on a number of different types of systems, including Web-based applications, desktop applications, and handheld devices. Each of these types of systems has unique system limitations, which may dictate how data should be stored and/or formatted in your database.
数据库中的数据也许是从(外部)输入并且显示在许多不同种的系统中的,其中包括基于web的应用,桌面应用和手持设备。每一个类型的系统都有唯一的系统限制,这些限制也许规定数据如何在数据库中存储和/或如何安排数据格式。
Take dates as an example. Most Windows applications can accept dates up to the year 9999, but many handheld devices can only accept dates up to the year 2039, due to memory capacity limitations. If your database allows users to store dates past 2039, what happens when you try to display one of these dates on a mobile handset?
比如,许多windows应用程序能够接受一直到9999年的日期数据。但是许多手持设备由于内存能力的限制却只能接受一直到2039年的日期数据。如果你的数据库允许用户存储超过 2039的日期数据,当你尝试在移动手机上显示这些数据的时候会发生什么。
The format of data may also change as it passes through various interfaces between the user interface and the database. For instance, data may first be extracted from the database in tabular format, then converted into XML format so it can be transferred via a web service, then be transformed into HTML for display within a browser. At each one of these interfaces, the format of the data will be changed, and new bugs may be introduced.
在用户界面和数据库之间,当数据通过不同的接口的时候,数据也许改变了。比如,数据首先以表格的形式从数据库中萃取,然后转变成XML格式,因此数据能够通过web服务器被传输,然后被转变成HTML在浏览器中显示出来。在每一个接口中,数据格式将被改变并且新的bug也许会被引入。
Again, you can test the data at each of the interfaces, but it may require some programming. At a minimum, you should be able to identify all of the formats used to transfer the data between each interface, and understand some of the fundamental limitations of the technologies being used. This will allow you to create better test cases, and more intelligently analyze data-related bugs that appear during testing or pop up in production.
再一次,你能够在每一个接口中测试数据,但是这些数据也许要求一些设计。在每个接口中,你应该能够识别用于传输的数据格式,并且理解所使用技术的基本限制。这将使你更好的建立测试用例,并且聪明的分析和数据相关的bug,这些bug出现在测试中或是在产品中弹出.
Conclusion结论
Database testing is one of the most challenging tasks facing a software QA team. At a minimum, team members should understand referential integrity and database security, and have a good grasp on the various technologies and data formats used to transfer data between the user and the database.
面对软件QA团队,数据库测试是最富挑战的任务重中的一个。团队成员应该理解引用完整性和数据库安全性,并且在用户和数据库之间,能够很好的领会不同种的技术和用于传输的数据格式。
[ 本帖最后由 Erica 于 2006-5-25 10:16 编辑 ] 第一次翻译,还请大家批评指正。 很不错哟!
中文要是润色一下就绝了! 恩,下回改进。 screen-scraping 屏幕剥离? 加分鼓励了! l加分鼓励呀
页:
[1]