public class TestUserDatabase extends TestCase
{
...
public void testInsert()
{
// Insert a test user:
User user = new User("some@email.address");
UserDatabase database = new UserDatabase();
database.insert(user);
// Make sure the data really got there:
User db_user = database.find("some@email.address");
assertTrue("Expected non-null result",
db_user != null);
assertEquals("Wrong email",
"some@email.address", db_user.getEmail());
assertEquals("Wrong bad flag", false, db_user.isBad());
}
...
}
可能你還有更多測試代碼。(注意一些測試,例如對date類的測試)。
assertTrue和assertEquals方法進行條件測試。如果測試失敗,他們將返回診斷消息。其重點是這些測試都基于一個測試框架自動執行,并給出測試成敗的標志。這些測試都基于用java語言編寫的測試框架Junit類(程序附后)。這一框架也能適應其他諸如C, C++, Perl, Python, .NET (all languages), PL/SQL, Eiffel, Delphi, VB等語言環境。
下一個問題就是:我們有測試,但我們怎樣保證測試數據和實際數據能嚴格區分?
不同的鑒別方法
在開始之前,我必須指出你最好有一個測試用的數據庫,你可能更想在非正式的數據庫中實踐我講的東西。
第一種方法是手工在數據庫中輸入一些預先知道的測試性數據,例如在郵件地址中輸入“testuser01@test.testing”。如果你正在測試數據庫的查詢功能,你能預先知道,比如說有五個,數據庫記錄是以“@test.testing”結尾的。
由以上方式插入的數據必須由測試本身進行必要的維護。例如,測試必須負責刪除所建立的測試數據,而避免對實際數據進行操作,從而保證整個數據庫處于完好狀態。
這種方法還是存在以下問題:
你不得不和其他編程人員進行數據協調——假設他們也有他們自己的測試數據庫。
在數據庫中有些特殊的數據并不正確,如一些特別的郵件地址和被保留餓編號前綴。
文章來源于領測軟件測試網 http://www.kjueaiud.com/