屬於金牛座小子的草原

目前分類:Tech Vision (122)

瀏覽方式: 標題列表 簡短摘要

  上週可以說是工作的地獄周,因為突然所有手邊本來就在趕進度的工作突然被一個臨時插進來更緊急的歐洲合規政策簡稱MICA用戶專案給硬生生輾壓過去,終於在如火如荼地加班一周後把這件事搞定,雖然中間也穿插一些Hot Fix 小工作,但也是算安全達陣。

  只是上周一開始這件MICA專案被插進來時,有兩件事我只做對了一件,那就是約團隊一起重新排工作進度,確保在MICA專案能順利優先完成的情況下,那些手上緊急的任務可以先暫緩,哪些又可以先停掉,原本以為只要把優先級較低的Task直接停掉即可應付,但一場會議下來發現有4個跟車 6.26要上線的需求中有些是APP需要的後端需求必須在6.20完成驗證上線,這部分就很硬了,因為當時覺得6.26跟車是一種跟外部團隊的支票,不太可能延期,那就是無論如何都得在 6.20前先把後端的需求驗完上線,而 MICA 的驗證結束上線時間也是6.20,那真的是神仙打架,凡人莫測。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  上一篇談到了 Automation Test Code Review 的重點應該放在產出的 Test Case 上面,那這一篇就來講講 Automation Test Case 應該符合哪些簡要的原則,也就是當你要幫同事做 Automation Test Code Review 時,可以針對這幾點去做審查。

  1. 一個Test Case 只測試一件事: Test Code 中,每一條 Test Case 應該都只專注在一個要測試的點,例如測試    POS 系統的點餐功能,測試點就應該放在點餐這件事上,其中可能要驗證的點包含點餐是否餐點名稱正確,數量也對嗎?單價有沒弄錯? 之類,但該測試不該包含結帳功能的驗證,那是另外的   Test Case 該做的事。
  2. Test Case 驗證點足夠: 如上面所說,光一個點餐,可能要驗證的點就不只一個,因此在   Test Code 是否有包含到該功能所有要驗證的檢查點,也是要評審的要點之一。
  3. Test Case 可以獨立執行: 與手動的   E2E 測試不同,Automation Test Case 執行時,為了確保執行結果的正確性以及效率(能夠平行執行多條   Test Case),每一條   Test Case 都應該盡可能地能夠獨立執行,不與其他     Test Case 產生相依性,例如點餐可能一開始要先開一張新的訂單,然後才能在訂單上點餐,那麼開新訂單的動作就應該在該   Test Case 的執行步驟中實現,而不要倚靠其他開新訂單的    Test Case 結果來拿到一筆新訂單。
  4. Test Case 擁有自己的 Test Data: 也因為要確保每一條 Test Case測試的獨立性,因此每一條 Test Case 都應該有自己的   Test Data,避免使用其他   Test Case Data 或分享自身的    Test Data 給其他   Test Case,這樣才不會因為某個     Test Data 有問題而影響其他Test Case的執行結果。
  5. 關注點分離(SoC): 每一條   Test Case  Test Method 中只針對要測試的對象加入驗證斷言(Assertion),其他非測試   Method (只是用來讓測試對象浮現的   Method )不要有任何驗證,其實依然是指一個   Test Case 只測試一件事,只是這裡更強調只針對該驗證的驗證,不該驗證的不要驗證,讓測試的目的真正有意義也被測試。
  6. Utility 代碼: Test Case 中某些    Function 可能也常常被其他    Test Case 或    Test Method 用到,則這些可重複使用的代碼應該單獨拉出來放到工具箱做有用的Utility,例如API 的內容都需要加密的加密函數,就可以拉出來成為Utility的一個Function,這樣其他的API Test Case也就可以調用呼叫了。
  7. Wait 的是應用程式狀態改變而不是時間: 如果Test Case測試時遇到需要等待的步驟,應該要確定該步驟的Wait時間是足夠的,最好是Wait 一個狀態,也就是當某一個狀態出現時就停止等待,繼續執行Test Case,這樣才不會造成測試執行等待時間太久或不足導致測試失敗甚至無法繼續進行。
  8. Selector可靠性: 最後如果Test CodeTest Case是屬於前端的Test,那麼若需要抓取某個UI元件,則該 元件的Selector就必須是可靠的,最好是使用元素 Name ID 來作為     Selector,如果是用      XPATH 或   CSS PATH 來作為    Selector 將會使測試結果不穩定,因為會對前端頁面產生高度依賴性,只要頁面元素位置改變就可能因為抓取不到元素而測試失敗,這也會是測試假警報,所以    Selector 的選擇也是 Test Code Review 要注意到的一環。

  前面幾點就是    Test Code Review 應該要有的幾項原則,最重要的其實就是測試結果的有效性和和穩定性,例如如果測試前端的Selector沒有選好,就會常常因為頁面改變或頁面載入太慢而失敗,這樣的    Test Case 就是不穩定的。

  而每個   Test Case 都應該做到關注點分離,一個    Case 只測試一件事,並且這件事的測試點可能有多個要驗證,同時測試資料不與其他測試案例共享或依賴,如此才能平行執行多條    Test Case測試且彼此互不影響。這就是    Automation Test Code Review 能夠 Focus 並幫忙到 QA 或測試人員的重點。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

Automation[13] Automation Test Code Review 是在Review什麼?

Automation[13] Automation Test

  說起Code Review 實在是一項讓很多人又愛又恨的事。大家都知道要Code Review,但Code Review時到底該Review什麼?Review的準則又該是蛇麼? 每個人對Code都有自己的想法,那到底該聽誰的?

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  測試軟體的Backend Job時通常除了確認Job執行可以正常之外(包含獲得正確的結果),必須要記住有一測試點一定要考慮到: Job的批次處理特性。這意味著測試Job時必須多驗證Job的不可中斷性

  什麼是Job ? Job就是在固定周期內會按時執行一特定任務的程序,通常他是批次的,也就是他執行的目標對象通常不會只有一個,而是有很多個執行對象需要處理,例如每個月第一天執行一次Summarize 上月份的每日營運報表,執行對象就有上個月30個工作日。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  實際算出一個題目,該題目是要在耦合電路上試圖找出在一次側電阻RL 有最大功率轉移時的 Xc 電容抗值。

  該題目解析要點:

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  記得第一次去日本東京時,那時候是在網路租借了一台行動WIFI,還在羽田機場找郵局找了半天才找到領WIFI包裹的地方,然後2017去香港以及去年去新加坡,都是買可以用一週的臨時SIM卡,顯然一個人時SIM卡是優於WIFI租用的,但是還是有那嘛個小缺點就是總是要在機場找到拿SIM卡的櫃台(通常也不好找),然後當場拿小插針換手機SIM,通常過程都很怕原本的SIM不小心弄丟,如果說可以跟WIFI一樣不用動到手機SIM卡那就完美了。

  然後這幾天看文章才發現一家叫Holafly的公司有在賣虛擬SIM,就跟出國時我們可以在網路上或在當地機場選定要使用多久的SIM卡,多少流量一樣,差別就在於這虛擬SIM卡是沒有實體的,而是只是一個QR-Code當你搭乘飛機到達你要去的國家之後,拿起手機掃描這個QR-Code,就可以連結 Holafly 所提供的個人eSIM卡服務,是的,實際上就等於你在手機裝上了一張SIM卡,只是不用真的插到手機上,手機上原本的SIM卡也不用再抽出來或打開插槽,省去了換卡而丟失卡的風險。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

Telegram 是個事務功能性極強的Social Media Software. 無意間發現有人直接用TG機器人點歌來聽. 所以就自己研究一番. 記錄一下如何在自己的TG電報群加入機器人做點歌

 

文章標籤

jackterrylau 發表在 痞客邦 留言(1) 人氣()

  記得我剛進趨勢的時候被分派的第一項任務就是把API Test Case 做成自動化測試,那時候光是DVT(Dployment Verification Test) 就多達500支自動化測試案例,後來的光陰之中,發現多年以後部門的自動化始終環繞在API自動化之中,很難做到全面的All Functional Tests for All Systems, 尤其是涉及 E2E Web UI 自動化測試,最終皆因為Test Case Results 的不穩定性而放棄大量實作。

  上述的經歷其實就是自動化測試的一個典型陷阱:pushing percentage-of-tests-automated metrics, 強調自動化測試的覆蓋率,最終的結果就是:產生巨量的自動化測試開發及維護成本以及低效率的無效益自動化測試集合!

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  剛剛無聊看了下這篇被我掛在Browser上很久的一篇文章:What’s the Difference Between Strong AI and Weak AI?突然有種被醍醐灌頂的感覺,算是一轉邊緣專業冷知識吧? 原來這裡面的Weak AI Strong AI 跟我想的完全不同,但我想應該80%的人也不知道吧,在這邊就稍微介紹一下吧。

  先從Weak AI 開始吧,所謂 Weak AI 就是我們當前世界所有AI應用與技術都屬於Weak AI

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

Python 建立子執行緒的方式很容易,只需要 import threading 然後在程式中 建立 thread 就可以了.

import threading

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

6個記憶體概念釐清

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

2016 to 2019 新知摘要回顧

2016

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

牛老師_App_教學_1_用PPT快速錄製教學影片_以快速擷取瀏覽器畫面自動添加到到OneNote新筆記頁面為例_Part2

這是我第一次嘗試用錄影片的方式把自己軟體操作心得筆記並分享給大家,該影片有兩重點,第一是如何用windows office powerpoint 簡單錄製電腦軟體螢幕教學影片,第二個重點是我用OneNote自動擷取螢幕畫面並快速新增到筆記為例來demo這個錄製教學。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

牛老師_App_教學_1_用PPT快速錄製教學影片_以快速擷取瀏覽器畫面自動添加到到OneNote新筆記頁面為例_Part1

這是我第一次嘗試用錄影片的方式把自己軟體操作心得筆記並分享給大家,該影片有兩重點,第一是如何用windows office powerpoint 簡單錄製電腦軟體螢幕教學影片,第二個重點是我用OneNote自動擷取螢幕畫面並快速新增到筆記為例來demo這個錄製教學。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  這陣子在大張旗鼓的整理手機裡的照片,但照片整理起來有點煩人的地方是我以前到現在的大部份照片已經  sync 到我的 One Driver 雲端跟電腦 One Driver 本地端,現在手機的照片我全都 sync百度雲的好兄弟一刻相冊,原因是我以後所有照片都會備份在有 2T 免費空間的百度雲上,而百度雲又可以把檔案輕易 sync 到有免費 500G 空間的一刻相冊,那我的百度雲就可以變成所有檔案的最終備份中心,而一刻則成了相片的歸宿,未來空間只有 30G 的 One Driver 我還是可以繼續用來做相片影片等檔案中繼站以及打算用來放純文件就好,以免小小的空間快速被生活照片跟影片塞滿。

  那問題來了,我仍然希望在過度期間手機的檔案跟照片還是先放到One Driver再備份一份到百度雲上面,而手機本來就會幫我備份影片到百度,相片到一刻,但我又不希望一支手機我要備份兩次檔案到One Driver和百度雲上面去,這樣不但不夠工人智慧而且又有大量案會重覆的風險,我希望的理想結果是我手機只要網路開著就可以總是把所有異動檔案丟到上述所有雲端,而我的新照片會先備份到電腦端的 One Driver 再自動更新到雲端的百度雲,於是我想到一個好方法:那就是將電腦端的One Driver自動備份到百度雲,這樣就一切都解決啦!

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  最近我又心血來潮突然開始練起了歌,畢竟人有歲數之後總是在KTV只會唱一些拿手老歌,但在家工作就比較喜歡放音樂,所以就用Youtube聽起了很多近年比較流行的華語歌曲,聽喜歡了,就想下載來聽。

  但過去抓歌都有免費的電腦端搜歌軟體,像老牌的ezpeer(應該要到我這歲數才有用過)或是P2P軟體狐狸 Foxy(抓肉片好幫手…笑),現在這一類軟體都比較少見了,於是我想到了前陣子拿來抓歌的網站優美客,但優美客現在改版的我快連他爸媽都不認得了,所以想到比較好的抓歌方式大概就是把youtube影片轉成MP3下載了,這類的 Downloader 下載器說真的在網路上頗多,所以問題就只在你要用哪一款了。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  以下網站參考自MakeUseOf的文章: 25 Insanely Useful Websites That'll Come in Handy Someday 

  我只有選一些我覺得對我還滿有用也許用得到的網頁,對其他網站有興趣的話你可以直接參考MakeUseOf的文章唷!

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  又到了MakeUseOf文章介紹的時間啦!今天來翻寫一篇"6個解鎖被檔在防火牆後面的網站"的文章,其實有點文題不符啦,在這篇MakeUseOf的文章中提到的六個方法其實跟網站是不是因為防火牆檔住而進不去的關係沒有必要關聯,對於小白新手來說,遇到要去的網站進不去,不管三七二十一就是連來試試這篇文的六個方法就是了。

 

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  VPN是一個可以加密你的網際網路連線並透過第三方伺服器連上網路的軟體。A VPN is software that encrypts and routes your internet connection through a third-party server.

  在很多狀況下你會想用到VPN技術:存取某特定國境區域的網站和服務(Accessing region-specific websites and services)、避免網路相關路由問題(Getting around network-related routing issues)、在開放WiFi網路加密你的連線(Encrypting your connection on public Wi-Fi)、新增一個額外的隱私保護層當瀏覽或下載網路檔案(Adding an extra layer of privacy when browsing or downloading)。

文章標籤

jackterrylau 發表在 痞客邦 留言(0) 人氣()

  因為工作的關係,最近常常聽到reverse proxy 這個名詞,也就是所謂的反向代理,但一直以來我都對反向代理這個term感到滿滿的疑惑,直到剛剛看了一篇網路文章才終於恍然大悟原來反向代理是這樣一回事。

  首先,要知道這邊的代理指的是代理伺服器,用淺顯易懂的例子來說,他是幫我們跑腿的代辦人,有些跟人家約好要做的事我們可能不想親手去做或者不方便親自去做,這時候就可以請代辦人幫我們去找對方把事情交待給對方處理完成,代理人再回頭告知你結果就好了,而代理伺服器就是這樣的一個角色,它可以幫你的電腦請求轉發給遠端的網站,也可以擋在某個網站的前面收下某地方來的請求再轉給網站內的某台機器做處理,而這時候根據代理伺服器幫助的對象之不同,就有了正向代理與反向代理的區分。

文章標籤

jackterrylau 發表在 痞客邦 留言(3) 人氣()