Re: [請益] 如何當軟體QA??

看板Soft_Job作者 (lambda)時間4年前 (2020/03/03 20:32), 4年前編輯推噓26(2603)
留言29則, 28人參與, 4年前最新討論串2/4 (看更多)
拋磚引玉,台灣軟體測試真的很需要有大大來分享 --- 寫在最前面: 我測試是學這本書 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 的最根本最核心的重點阿。。。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.234.4 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1583238727.A.54C.html

03/03 20:43, 4年前 , 1F
謝謝您的分享,感恩,集保e存摺。
03/03 20:43, 1F
※ 編輯: ttss4092 (36.231.234.4 臺灣), 03/03/2020 20:56:24

03/03 21:10, 4年前 , 2F
推 感謝分享
03/03 21:10, 2F

03/03 21:11, 4年前 , 3F
03/03 21:11, 3F

03/03 21:18, 4年前 , 4F
認同測試跟自動化才是DevOps的核心
03/03 21:18, 4F

03/03 21:18, 4年前 , 5F
不過我帶intern都忽略那些系統, 直接從測試基本概念講 XD
03/03 21:18, 5F
可能你帶的都是很強的才能這樣

03/03 21:53, 4年前 , 6F
好文
03/03 21:53, 6F

03/03 22:08, 4年前 , 7F
推,感謝分享~~
03/03 22:08, 7F

03/03 22:23, 4年前 , 8F
你就是那個大大啊QWQ帶人也太用心了。
03/03 22:23, 8F
看起來用心是因為它不用功,之前帶學弟隨便嘴嘴,學弟就弄出來了, 現在學弟都比我強了,我還要學弟教我新東西呢, 這樣帶人不過就只是期待能多一個能對話的人

03/03 22:33, 4年前 , 9F
03/03 22:33, 9F

03/03 22:41, 4年前 , 10F
帶人好用心..
03/03 22:41, 10F

03/04 00:16, 4年前 , 11F
大大人真好
03/04 00:16, 11F

03/04 00:22, 4年前 , 12F
推用心
03/04 00:22, 12F

03/04 00:30, 4年前 , 13F
好人推
03/04 00:30, 13F

03/04 04:19, 4年前 , 14F
推個
03/04 04:19, 14F

03/04 07:37, 4年前 , 15F
當然不會強迫學 Emacs 呀,要學就學 Vim (重點錯誤)
03/04 07:37, 15F
都學都可以學,手不要給我離開鍵盤就好 ※ 編輯: ttss4092 (220.132.128.60 臺灣), 03/04/2020 08:15:17 ※ 編輯: ttss4092 (220.132.128.60 臺灣), 03/04/2020 08:28:03

03/04 08:49, 4年前 , 16F
公司會說 我不是請人來學習的
03/04 08:49, 16F

03/04 08:53, 4年前 , 17F
認同....測試快速給feedback才是核心
03/04 08:53, 17F

03/04 09:01, 4年前 , 18F
大大人真好 推
03/04 09:01, 18F

03/04 09:34, 4年前 , 19F
這麼用心帶人 人真好!
03/04 09:34, 19F

03/04 10:01, 4年前 , 20F
推推
03/04 10:01, 20F

03/04 12:41, 4年前 , 21F
03/04 12:41, 21F

03/04 13:20, 4年前 , 22F
03/04 13:20, 22F

03/04 15:31, 4年前 , 23F
很完整的學習系統…真棒
03/04 15:31, 23F

03/05 19:59, 4年前 , 24F
乾 實習生真好運 遇到你 教抄多
03/05 19:59, 24F

03/08 08:30, 4年前 , 25F
專業
03/08 08:30, 25F

03/09 17:50, 4年前 , 26F
專業好文,推個
03/09 17:50, 26F

03/10 16:54, 4年前 , 27F
推~ 有幫助!
03/10 16:54, 27F

03/11 19:14, 4年前 , 28F
感謝分享
03/11 19:14, 28F

03/18 04:10, 4年前 , 29F
03/18 04:10, 29F
文章代碼(AID): #1UNav7LC (Soft_Job)
文章代碼(AID): #1UNav7LC (Soft_Job)