熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL語言 >> 正文

Oracle數據庫工具:Quest Code Tester

2022-06-13   來源: SQL語言 

  如果你不幸要編寫大量的PL/SQL代碼現在你的救星終於到來了它就是Quest Code Tester for Oracle (QCTO)如果你在結構化的開發環境中工作(最少是這種環境中)那麼執行單元測試的重擔將落在程序員上這個工具可以為你節約無數的時間它讓你開發出可重復使用的測試庫只需要簡單的配置和修改就可以將這個測試庫用於其他的項目Quest Code Tester是由Steven Feuerstein開發出來的他是PL/SQL方面公認的專家在他編寫的關於PL/SQL的由O’Reilly出版的書籍中蘊藏的智慧同樣滲透到了這個工具的開發當中

  Quest Code Tester為什麼會吸引你

  QCTO的發布會直接引起四類人的興趣而間接的引起一類人的信息直接感興趣的人包括程序員DBAQA測試人員和經理間接感興趣的人是客戶或者終端用戶為什麼像QCTO這樣的工具會引起這些人的興趣呢?

  對於程序員來說測試PL/SQL代碼常常有一些問題其一對他們來說沒有像Mercury 公司WinRunner類似的工具對於PL/SQL程序員來說這就意味著沒有自動化測試測試案例庫或者報告測試結果工具其二和數據庫測試有關的一個(巨大的)障礙是很多測試將影響到現有的數據你執行了一個測試即使是部分失敗了(或者部分成功這決定於你的參考對象)你的測試環境也已經變化了這種效果也被稱為破壞型測試其三的問題是測試代碼用後就被扔掉你花費了精力來編寫測試代碼為了檢查完一行數據是否插入到了表中在你的下一個開發項目中你可能需要又重寫一樣的代碼

  對於DBA來說能夠編寫PL/SQL是如今一項必備的能力你能夠寫出專家級別的代碼?不但是你應該有一定程度的競爭力拿大學中的專業做類比數據庫管理是你的主修專業而PL/SQL編程則是你的輔修專業擁有強壯的測試工具可以彌補相當的技巧插入一條記錄到數據庫表中不會讓你撓頭對吧?下面請說出在你插入一條記錄到表中的可能會遇到的六種錯誤或者異常這就是我所想的我們等會再討論這個問題

  對於QA測試人員來說無論是測試工程師軟件質量保證人員(software quality assurance SQA)他們的時間花在系統/功能/壓力測試上而不是單元測試上不是更好嗎?是的在單元級會有一些檢查但是你作為程序員/DBA也應該有義務檢查自己的代碼如果程序員僅僅是寫代碼然後扔給辦公室另一邊的其他人去測試那麼這個組織機構是效率低下的這是在浪費精力但是似乎有無數的由於這個原因(對部分程序員拙劣的質量控制)而導致的開發項目失敗的故事和例子

  作為經理想想數據庫代碼被徹底的測試所增加的價值甚至更好的情況你終於有了獨立於任何程序員的測試代碼庫當程序員為了更好的薪水而離開的時候會發生什麼?你的組織結構/開發團隊會損失一整套知識有了QCTO這部分知識和程序測試會被保存下來這僅僅會造成稍微的負面影響你需要為程序員們熟悉任何測試工具而支付時間和金錢(比如WinRunner是美元天)但是結果是全面的生產力得到提高

  最終你的產品會給最終的用戶留下什麼印象?如果你的公司正在賣一個應用軟件為什麼你不想去宣傳你的應用程序經過了多麼徹底的測試?如果你的產品是良好的你還會花錢四處宣傳嗎?作為一個第一線的IT專家你可能還沒有收到到RFP(RFP Request for proposal就是征求建議書發單人向數家承包商征求解決方案建議時向外招標發放的一種文件)在RFP中包括關於你的公司的軟件開發過程的現象現在已經不少見在QA/單元測試方面能夠精心實施的能力會讓你領先你的對手

  從Quest Code Tester可以獲得什麼?

  開始你可以獲得免費的指南包括一步一步的例子充分的文檔訪問用戶社區代碼樣本產品支持公道的定價和試用免費的版本QCTO會帶來很多的功能和好處這個產品方便下載安裝和使用頁的PDF快速入門而且幫助(在產品中)內容詳實QCTO中的Flash videos會講解如下的內容

  介紹和概要

  對表視圖查詢和光標變量的測試

  對集合(collection)的測試

  對記錄的測試

  對全局變量和表達式的測試

  對文件內容的測試

  對異常系統輸出和時間花銷的測試

  提示和技巧

  所有的內容都包括在視頻中演示的代碼這樣你可以在方便的時候回去在試一試這些測試代碼這個庫的第二個好處是這些測試代碼可以作為很好的例子或者用於你自己環境中的原型

  

  Quest Code Tester非常優雅的功能

  接下來將介紹快速構建(Quick Build)的功能它裡面有很多模板一樣的測試用例你可以方便的拖放到測試准備框架中現在回到前面的關於在插入數據會遇到的六個錯誤或者異常的問題(我本來可以問七個的)下面一張圖中顯示了只要你鼠標點一下就可以獲得這些錯誤

  

  對於每一種異常最後的結果會在特定的錯誤發生之後進一步的描述舉一個例子假設你在插入數據的過程中遇到了DUP_VAL_ON_INDEX(索引上出現重復值)的異常在這個錯誤發生之後表的狀態是怎樣的?理想的情況表沒有發生任何變化但是你如何才能檢查或者驗證這個希望的結果?

  

  一種測試是比較錯誤發生之前和之後的記錄行數而另外一種測試是驗證哪一種錯誤真正的發生了(而不是其他類型的錯誤)出於好奇心Oracle中的哪個錯誤是和DUP_VAL_ON_INDEX相關的?第一個錯誤是我記得住的 這個錯誤試圖攻擊Oracle做的最好的事情防止違反唯一性約束 否則就報ORA

  這個應用的狀態

  Quest Code Tester處於開發階段我使用的版本是超過個bug或者是增強在上一個版本中解決了和TOAD用戶社區類似Quest樂意接受幫助產品做的更好的意見和反饋當你自己評價這個產品的時候想想PL/SQL開發人員的世界中有多久都沒有出現像QCTO這樣完整的工具了很明顯在QCTO的開發中投入了相當的精力並且它並沒有寫的很爛然後就不負責任的丟給用戶做QA的工作

  我的一個建議可能是將詳細/簡潔的模式結合在一起在Step中的套話可能會讓你在使用了次快速構建准備測試之後感到厭煩

  

  結論

  在這篇評論的第二部分我將深入討論安裝的細節以及如何使用該工具完成代碼測試下面列出了網址你可以從中了解更多關於Quest Code Tester的信息

  產品信息

  知識庫

  下載地址

  下面的幻燈片 (來源於Feuerstein 強調關鍵的部分的介紹視頻) 抓住了需要QCTO 完成的功能的精髓現在標題“Wouldn’t it be wonderful if…”可以被換成 “Isn’t it wonderful that Quest Code Tester does…”

  


From:http://tw.wingwit.com/Article/program/SQL/201404/30533.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.