WinForm自動化測試工具開發札記(1)

2021-04-13 14:13:47 字數 1469 閱讀 4485

2023年03月22日 18:16:00

序言一轉眼來北京已經四個月了。度過了回龍觀沒有暖氣的冬天,迎來了春天--腦子終於化開了。

明天搬家,搬到積水潭,這樣可以離工作的地方(sigma大廈)近一些。我以為我能改變自己夜行動物的習慣,看來努力失敗了。還是在晚上工作吧,這回到多晚都沒事了,不用急著趕城鐵,走著都能回家。

背後那個組的同仁們自己開發了乙個winform的自動測試工具,挺好玩兒,那麼我就自己開發乙個吧。業餘時間做一做,一是深化對軟體測試的理解,二是提高一下自己的程式設計水平--在技術與藝術上都追求品質。

2006-03-22

兵馬未動,先搞糧食。

今天先找了些參考資料,然後決定了一下使用什麼技術來開發這個大玩具。

資料:[1] msdn:這個不用多說吧,百科全書。

[2] programming windows 5th edition:因為要用到win32程式設計,這本書是非常好的參考,以前一直沒好好看,今天又祭器這面大旗。

[3] effective gui test automation: developing an automated gui testing tool:sybex的書,內容不錯,就是有點囉嗦,沒辦法,參考資料少,咱就耐著性子看吧。

技術: 就這個軟體本身而言,由於是自動控制計算機(主要是使用者輸入部分),所以應屬於windows底層程式開發。這種底層開發,win32是正道,但如果用win32開發,寫ui的難度太大了--除非寫個命令列程式。另乙個選擇就是mfc,可惜ui還是不太好寫,更要命的是mfc使用c++,c++對xml的支援實在是讓俺不敢怎麼恭維。為什麼要用xml?是啊,自動化測試嗎,測試員要錄製測試指令碼,再執行測試指令碼,用xml語言寫指令碼比較現成哦,我可不想自己再開發一套指令碼tag。c#借.net的光,對xml天生支援的不賴,而且寫起ui來是飛速完成的。可惜哦,架在.net framework的高台上,與底層遙遙相望..調底層的api只能使用pinvoke和記憶體對齊,而且win32函式裡那些怪怪的資料型別怎麼轉成.net的型別呢?(頭大)

技術ui

底層xml

win32xo

xmfcxo

xc#ox

o 聽背後組的mm說,他們是寫了乙個com,然後又在c#裡寫的ui,對此,俺表示懷疑。第一:寫com幹嗎呢?寫乙個原生(非託管)dll不就結了?搞個com還要安裝,麻煩的不行不行的;第二:..還沒想好,回頭再說。

根據上表評估,我還是打算選用c#,底層雖然難搞,但不是不能搞。寫個引擎,封裝在乙個dll程式集裡算了。就這麼定了,明天開始概要設計了。

對了,補兩句。剛才試了試用process類和form類的一些靜態方法,看看能不能避開pinvoke,結果發現使用process的例項屬性"主窗體handle"得到的數值的確與win32 的findwindow得到的一樣,可惜用form的fromhandle來處理這個值就得不到主窗體--k~~~,我不生氣,不生氣..

自動化測試工具

二 如何實施自動化測試 自動化測試指軟體測試的自動化,在預設狀態下執行應用程式或者系統預設條件包括正常和異常,最後評估執行結果。將人為驅動的測試行為轉化為機器執行的過程。自動化測試框架一般可以分為兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的專案中,它體現重要的作用,它可以管理...

自動化測試工具monkey

monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性的快速有效的方法。a 測試的物件僅為應用程式包,有一定的侷限...

自動化測試工具分析

目前在國內使用的最多的自動化測試工具就是qtp,以至於許多人錯誤的理解為自動化測試就是使用qtp進行一下錄製,然後就是自動化測試了,這種理解是有偏差的。qtp 是hp公司開發的乙個款自動化測試工具,名氣很大,但是售價也非常昂貴,國內有一些牛人破解了qtp,進行使用,但是大公司一般不會採用這種方式,要...