PTT推薦

Re: [請益] QA學生實習的問題

看板Soft_Job標題Re: [請益] QA學生實習的問題作者
andrew771027
(老柏~)
時間推噓11 推:11 噓:0 →:18

原文述刪

前陣子參加某金控的分享會後覺得有點空虛

加上最近在做內部教育訓練,整理了以前做的一些在自動化測試上的事

少少的經驗 分享給版上QA大大們

希望多多交流

敝公司一樣是用JIRA做專案管理(省略

之前用的測試框架是一樣使用Robot Framework

老實說,對一個會寫程式的人來說,Robot Framework並沒有很有彈性

所以最近在新案子上嘗試直接使用Pytest + Python + Selenium

(RF的底層也是Python)

(新案子不是只要把測試案例轉成Autotest script裡就好,因為很大,

所以需要更多的設計,這點我還在頭痛)

很多東西都要自己刻,不像RF幫你做好

-------------------------------------

從最簡單的Web Locator說起

如果你用Locator裡有文字,你要怎麼設計?

如果PM改了一個字,你的測試腳本會不會就此失敗?然後要花很多時間Maintain

所以後來弄了一個演算法,直接在Locator裡嵌入i18n,減少維護的成本

-------------------------------------

隨著測試腳本的擴大,就必須開始使用一些Design Pattern讓程式好維護好擴充

Page Object Pattern是不管你看任何書任何資料都會寫的

讓測試邏輯 頁 Web Locator分離的一種概念

不會讓你把所有Code寫在Main裡

-------------------------------------

接著一些維護的功

如果在開發階段,DB一直清怎麼辦?你要怎麼辦?

如果你的商業邏輯有些是會有「消耗」的概念,你要怎麼讓每次測試的結果都一樣?

如果你的商業邏輯有碰到信件,信件裡藏有OTP或是Secrect Info你要怎麼取得?

以前是把信送到一個叫Yopmail的disposal信箱裡,但是後來有該死的reCaptcha

就不能自動了

後來是把信指到Gmail去,然後用Gmail API把信的html拉出來,再做字串處理

當然你的測試Code也要支援不同環境

--------------------------------------

為了要更自動,所以整進了CI

所以你的瀏覽器要支援headless

因為測試案例很多,要parallel的跑測試

接著簡單的包進Docker裡 整進CI (這裡真的只會基本的

未來有時間,還希望可以支援多瀏覽器 多OS

最後把測試結果是用Email TestRail還是其他通訊軟體 發給大家

---------------------------------------

以上就是目前做過的一些事情

歡迎版上的QA大大分享和指教

有興趣的話也歡迎站內信

敝公司在作Insurance X Technology

公司QA缺人啊

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.136.142 (臺灣)
PTT 網址

joel91312/05 15:06好文,推+1

waynesmlie12/05 15:31我看得霧煞煞 我的原文樓主QQ 看來我真的不適合

lee45708812/05 16:34好聞推

taurus565012/05 17:02

※ 編輯: andrew771027 (36.229.136.142 臺灣), 12/05/2020 17:11:25

superpandal12/05 20:18自己刻自己用挺好

joney64111912/05 20:29完全自己刻太累了,建議改用pytest,比robot有彈性多了

joney64111912/05 20:33從單元測試,寫mock/fake,到系統測試全部可以用這套

joney64111912/05 20:35平行測試也沒問題,裝個pytest-xdist就行了

joney64111912/05 20:36一堆fixture可以用

joney64111912/05 20:42而且robot有一個問題比較困擾我,發生問題的時候

joney64111912/05 20:43你只知道某個keyword fail,這個keyword詳細做了甚麼

joney64111912/05 20:43導致fail,不是太清楚, 常常要用猜的

joney64111912/05 20:44pytest一目了然

andrew77102712/05 21:09補充一下,有用pytest 當框架

andrew77102712/05 21:09keyword要寫log啊

joney64111912/05 21:16keyword的參數常常也是一個代號,他是甚麼值呢?

joney64111912/05 21:16又要找前面的keyword

joney64111912/05 21:17log太長,html上面的訊息是...,詳細的值在XML檔案內

joney64111912/05 21:18怎麼找呢?寫個parser吧,總之,超麻煩的

joney64111912/05 21:19奉勸有用robot的QA同胞們,改用pytest

joney64111912/05 21:21而且跟RD討論的時候,常常你這個keyword是在做甚麼?

joney64111912/05 21:21大概好幾個月前寫的,我不可能記得的,要回去查

joney64111912/05 21:23存取list and dictionary方式又是robot自己的格式

andrew77102712/05 21:37同意joney大

※ 編輯: andrew771027 (36.229.136.142 臺灣), 12/05/2020 21:53:46 ※ 編輯: andrew771027 (36.229.136.142 臺灣), 12/05/2020 21:54:11 ※ 編輯: andrew771027 (36.229.136.142 臺灣), 12/05/2020 22:06:05 ※ 編輯: andrew771027 (36.229.136.142 臺灣), 12/05/2020 22:32:23

stillcolor12/07 16:03推!但我目前還是懶人RF在用...

stillcolor12/07 16:03雖然建立測試案例快很多,要規劃維運真的是比較費心思

stillcolor12/07 16:04框架越簡易使用的,彈性相對就越低...

mirror022712/08 21:43

sabrinaz8801/21 08:58好文推