Re: [請益] 如何當軟體QA??
拋磚引玉,台灣軟體測試真的很需要有大大來分享
---
寫在最前面: 我測試是學這本書
https://www.obeythetestinggoat.com/pages/book.html#toc
我入門是買中文版,這裡貼的是原文,可以免費線上看,
作者也有給 GitHub 可以邊學邊看
---
最近帶一年的軟體測試 Intern 拿到別間公司口頭 Offer 了
此文章會大概說說我怎麼訓(ㄋㄩㄝˋ)練(ㄉㄞˋ)他
先說他的背景,私立科大,資管,上課睡覺類型
剛開始技術能力大概只比非本科好一點 (基本邏輯不用教)
但是他是被我唾棄的微軟派 (學校就是教這個不怪他)
然後我是寫 Python 他寫 C#,所以一切重頭來
===
首先語法訓練,我抓了幾個我常用的一些東西,出成題目讓他在 repl.it 完成
大部分其實都是出自於 Effective Python 這本書,很經典常用的語法與用法,
如: for...loop, list, dict, comprehension, zip 等等
配合一些大概是 leetcode 不到 Easy 至 Easy 的題目給他練習
===
強迫他灌 Ubuntu,要他去看灌 Archlinux 的影片,
一步一步講解為啥指令要這樣下,
然後帶帶指令,強迫看鳥哥 (http://linux.vbird.org/),
並強迫在公司工作只能使用 Ubuntu,
除非某些手動測試要用到 Win, OSX 其他包含開發以及一般的例行工作都在 Ubuntu 完成
===
開始本地端 Python 訓練,Visual Studio Code 安裝與使用,
(我人很好沒強迫學 Emacs)
PEP8 講解,編輯器套件安裝,編輯器設定,
從 pip 指令講解開始,裝 requests 和 selenium 從爬蟲開始寫,
完成基本的網頁元件擷取後,開始教 Django 依照 TDD 那本書從頭帶,
書上規劃很棒,只要會裝 Python & Git 就能入門,
從開始建立專案到第一次 Commit,伺服器架設等等都有帶到,
測試方面包含功能測試、單元測試、前端測試、第三方元件測試都有帶到,
最後用他學到的東西讓他刻出很醜的比價網站,
中間還有強迫參加 Conf (PyCon, HITCON),讓他玩桌面應用的自動化 (PyAutoIt),
帶他打打 WarGame,由於他底沒有打很好,就把大學資訊安全、作業系統、
資料庫的講義給他講講,等等有的沒的
---
說測試,好的開發人員一定要會測試,尤其是自動化測試,
但是測試的網路教學很多都喜歡教你 add function 測試然後就沒了,
通常入門就是不知道要測試啥,其實最基本的就是要測試需求,
例如:
功能需求: 在訂閱用戶訂閱扣款前三天和前七天寄送提醒文件,每個客戶在第一封信,
都會收到一個優惠券(優惠券由市場人員由後台輸入),如果該用戶是取消訂閱,
到期前寄送不同的郵件樣板
測試案例就會有:
1. 訂閱在非前七天,非前三天,該用戶不會收到信
2. 在七天後和三天後訂閱要扣款的用戶,會收到 '扣款信' 而且有優惠券
3. 在七天後和三天後就要到期的用戶,會收到 '取消通知信' 而且有優惠券
4. 設定用戶有收到優惠券過,之後就算日期到,收到的信也不會有優惠券
我們也可以反向思考,要是優惠券沒被輸入
5. 設定資料庫沒有優惠券的資料,確定任何使用者不會收到有優惠券的信
6. 確定 5. 以後設定優惠券資料,原本沒收優惠券的用戶也會收到優惠券
思考其他例外
7. 金流商服務壞掉,不會寄送,不會有錯誤,有寫下 Log 並通知開發者
完成後,就是大概能動,可能有錯,
所以另方面要產出測試案例就是,從上線後手動測測有問題後,
生出自動化測試,如: 上線測試後,發現樣板少了一些必要資訊,我們就生出下一個測試
8. 所有寄送出去的 '扣款信' 要有使用者名稱、訂閱扣款日、扣款金額
9. 所有寄送出去的 '取消通知信' 要有使用者名稱、訂閱結束日期
以上大概就是,我生出一些基本測試案例的流程,寫久了你就會更知道你要確認啥,
練習方法: 學會書上寫的以後我覺得可以自己去測試自己常用的網站,
這邊可以跑正向的測試流程,熟練元件的應用,讓自己更清楚知道想要測試的東西,
很多 Edge case 真的是要靠經驗,這邊我也不知道怎麼練習 QQ
然後測試 APP 好像是用 APPium,很多公司好像會用 Robot Framework,
你可以看公司要啥去多學,但是基本的概念應該差不多,學好一套再往下跳吧!
===
會寫測試後你更會知道自己要哪些功能,為了讓測試更好寫,你的程式會自動的更有架構
如: 讓程式比較好 Mock, 沒得 Mock 的你就會注意到 Dependency injection ,
通常好測試的程式架構都不會太奇怪,因為層層測試要好寫,程式不能太糟糕,
在你寫測試時會發現程式很難測,乖乖把他們重構,不然你測試就要寫更多程式,
在權衡下你就會把你主程式改的比較好測
很多講 CI/CD、DevOps 的文章測試的篇幅都超小,好希望他們說多點,
個人認為測試才是 DevOps 的最根本最核心的重點阿。。。
--
謝謝您的分享,感恩,集保e存摺。
推 感謝分享
推
認同測試跟自動化才是DevOps的核心
不過我帶intern都忽略那些系統, 直接從測試基本概念講 XD
可能你帶的都是很強的才能這樣
好文
推,感謝分享~~
你就是那個大大啊QWQ帶人也太用心了。
看起來用心是因為它不用功,之前帶學弟隨便嘴嘴,學弟就弄出來了, 現在學弟都比我強了,我還要學弟教我新東西呢, 這樣帶人不過就只是期待能多一個能對話的人
推
帶人好用心..
大大人真好
推用心
好人推
推個
當然不會強迫學 Emacs 呀,要學就學 Vim (重點錯誤)
都學都可以學,手不要給我離開鍵盤就好
※ 編輯: ttss4092 (220.132.128.60 臺灣), 03/04/2020 08:15:17 ※ 編輯: ttss4092 (220.132.128.60 臺灣), 03/04/2020 08:28:03公司會說 我不是請人來學習的
認同....測試快速給feedback才是核心
大大人真好 推
這麼用心帶人 人真好!
推推
推
推
很完整的學習系統…真棒
乾 實習生真好運 遇到你 教抄多
專業
專業好文,推個
推~ 有幫助!
感謝分享
推
52
Re: [問題] 遊戲試玩員是不是很爽?小弟進入遊戲業的第一份工作剛好就是遊戲測試工讀生, 當時,很多人聽到我工作是遊戲工讀生時,都會說:好爽喔,玩遊戲還有錢拿, 但實際真的沒有大家想像地那麼開心,讓我來分享一下QA部門的日常。 1. 首先,一般玩家玩到的是已經完成的遊戲,33
[請益] 新鮮人offer請益兩個職位都各有優缺點,想來板上請教看看大家的意見,謝謝大家的幫忙。 原Po是第一份工作,四大資管碩畢 1.台積 工時:08:30-19:30 薪資:N*14+分紅 (租屋)26
Re: [心得] LabVIEW工作面試心得在下靠寫Labview維生 討生活已經十幾年了 我算運氣好的那一個 完全不用碰產線 但每年也是好幾支 自動化測試程式 等著我開發 主要的應用範圍為 儀器控制 馬達控制 資料擷取 遠端監控 資料庫 影像辨識等23
Re: [討論] 怎樣算是一個合格的junior cpp programme針對關於 TDD 的討論另外回一篇好了 覺得用推文太長了 XD : 推 stupidlove0: 朝聖!重要的真的是unit test 08/23 18:47 : → HZYSoft: 回樓上 TDD 問題,TDD 不只要測試,還要先寫測試才寫code 08/23 21:33 : → HZYSoft: 很多人無法習慣這種順序,是否一定要 TDD 這有爭議 08/23 21:3415
[請益] 台積/訊連offer請益兩個職位都各有優缺點,想來板上請教看看大家的意見,謝謝大家的幫忙。 原Po是第一份工作,四大資管碩畢 1.台積 工時:08:30-19:30 薪資:N*14+分紅 (租屋)13
Re: [討論] Unit test 的撰寫請益先說在前面 雖然聽起來很幹話,但很多東西沒有標準答案 有時是合適度的問題,也可能是喜好(品味?)的問題 同一個題目,實際的 code 長得不一樣,可能也會用不同的方法處理 另外,除了資源豐富到人力充沛到不行的專案,以及幾乎沒有時程壓力11
Re: [請益] QA學生實習的問題原文述刪 前陣子參加某金控的分享會後覺得有點空虛 加上最近在做內部教育訓練,整理了以前做的一些在自動化測試上的事 少少的經驗 分享給版上QA大大們 希望多多交流6
Re: [問卦] 寫程式的基本功是什麼?寫程式的基本功是寫測試 再好的程式碼如果沒有寫測試保護,就有機會在上線才知道程式碼被改壞掉。 平常有在寫測試的人,寫的程式碼也好讀很多,因為把程式碼寫太難會很難寫測試 --5
[請益] 產品(測試)工程師-高雄NXP各位前輩您好, 小弟中壢夜市大學電子畢,之前在南部某小外商半導體擔任產品約6年多。 負責NPI及量產良率,兼任TE協助RD規劃TestPlan及協助程式開發。 前陣子到了NXP面試產品工程師, 面試時是一次有好幾個不同產品的主管進來面試,