編輯:國薇、一口鍋、菜菜、靜怡、小淑子
這裡記錄過去一周我們看到的軟體測試及周邊的行業動态,周五釋出。
本周刊開源(GitHub: SoftwareTestingWeekly ),歡迎送出 issue,投稿或推薦軟體測試相關的内容。
科普
B端産品/C端産品/SaaS/PaaS/IaaS的差別是什麼?
吳朝博( 産品老吳)
C 端産品和 B 端産品的差別是什麼?
C 端産品的 C 指的是 Customer,我們每天都在接觸 C 端産品,比如微信、抖音、今日頭條。
B 端産品的 B 指的是 Business,作為職場人士通常會接觸到 B 端産品,是企業為解決某一類經營問題而使用的系統型軟體或平台,比如常見的 CRM、ERP、OA 等系統。
二者的主要差別
SaaS 産品本質上來說,屬于一種部署方式,除了 SaaS,還有本地部署、laas、Pass。
那麼 SaaS、PaaS、IaaS、本地部署的差別是什麼?
一個系統能夠正常營運需要三個層面上提供支援,分别是:
- 基礎設施層:包括網絡、存儲、伺服器、虛拟服務
- 平台層:作業系統、中間件、Runtime
- 軟體層:應用、資料
根據客戶對這三個層面上的東西是自建還是外采,就決定着采用那一種部署模式:
- SaaS:Software-as-a-Service(軟體即服務),三層全部外采,直接提供給使用者的是搭建好的應用程式。
- PaaS:Platform-as-a-Service(平台即服務),基礎設施層、平台層外采,軟體層自建。企業隻需要關注如何開發好軟體系統即可。
- IaaS:Infrastructure as a Service(基礎設施即服務),基礎實施層外采,平台層和軟體層自建。
- 本地部署:三層全部自建。
如下圖所示:
文章
1. 微信小程式滲透測試技巧
Bypass
微信小程式安全測試應該怎麼做呢?
從兩方面入手:
- 小程式解包(反編譯),基于小程式的前端源碼,從 JS 敏感資訊洩露、隐藏接口漏洞等方向進行漏洞挖掘。
- 小程式抓包,基于小程式的資料包,可以看到前後端業務互動的過程,重點關注業務邏輯漏洞、API 接口可能存在的安全漏洞。
方法一:小程式解包(反編譯)步驟
STEP 1. 安裝手機模拟器,比如,夜神、MuMu。
STEP 2. 下載下傳和安裝兩個應用,微信和 RE 檔案管理器。
STEP 3. 擷取 root 權限(設定中心 → 基本設定 → 勾選【開啟root權限】)
STEP 4. 打開微信,搜尋相對應的小程式,然後再打開 RE 檔案管理器,定位到目錄。
STEP 5. 下載下傳微信小程式反編譯腳本,解包。
下載下傳位址:
https://github.com/xuedingmiaojun/wxappUnpacker.git
解主包:
./bingo.sh 主包.wxapkg
解分包:
./bingo.sh 分包.wxapkg -s=主包目錄
合并分包内容,就成功擷取小程式前端的源碼了。
方法二:小程式抓包
小程式抓包推薦使用 Charles 或 Fiddler。
2. 張一鳴:我發現混得好的人,全都有同一個特質
21CTO
張一鳴把喬布斯的“Stay hungry, Stay foolish”,改成“Stay hungry, Stay young”。
下面是他的解釋。
什麼是“Stay hungry, Stay young”?“Stay hungry”,大家都知道,就是好奇心、求知若渴、上進心。但為什麼要說“Stay young”?
我覺得年輕人有很多優點:做事不設條條框框,沒有太多自我要維護,經常能打破正常,非常努力、不妥協、不圓滑世故。
“Stay young”的人基本沒有到天花闆,一直保持着自我的成長。相反,很多人畢業後提高了技能,但到一個天花闆後,就不再成長了。
經過 10 年的觀察,我發現優秀的年輕人都有這 5 大特質:
- 有好奇心,能夠主動學習新事物、新知識和新技能。
- 對不确定性保持樂觀,隻有樂觀的人會相信,會願意去嘗試。
- 不甘于平庸,我說不平庸,并不是專門指薪酬要很高或者技術很好,而是你對自己的标準一定要高。
- 不傲嬌,要能延遲滿足感,對現狀要踏實。
- 對重要的事情有判斷力。
3. 即戰力法則:來之能戰 戰之能勝
澀郎
大家都在說一個趨勢:未來的社會和企業需要有即戰力的人才。
什麼即戰力法則?
如果人是企業的關鍵,企業就會格外在意人才進入角色的速度,某種意義上,企業不會再像過去那樣有耐心地培養人,等待着你成長,它會更加在意你是不是能夠“來之能戰”,以及是不是“戰之能勝”。有人将這一點稱為人的“即戰力”,就是即時業務能力。
為什麼需要即戰力?
- 對于企業:在激烈競争和環境劇烈變動的時代,能否找到優秀的人才,能不能及時調整這些人才的配置和布局,是決定企業成長能力的關鍵。
- 對于個人:擁有即戰力的人才不會害怕失業,反而是企業競相争取的資源。
如何培養自己的即戰力呢?
- 觀察行業趨勢,提前為自己儲備技能。
- 觀察頭部企業變化,頭部企業的一舉一動都是會牽動整個行業的發展的,它們裡面人才多,戰略高度可能看得遠。
- 以終為始,長期看問題,要深入去學習具有長期性的那些基礎的原理,這樣才能讓你做到以不變應萬變。
工具
1. 将低品質的圖檔調整為高清 - Waifu2x-Extension-GUI
老逛(逛逛GitHub)
數位圖檔經過各種傳遞、壓縮和轉換會出現失真,會缺失很多細節。如何将這些低品質的圖檔調整為高清呢?
用 Waifu2x-Extension-GUI。
Waifu2x-Extension-GUI 是基于 waifu2x 開發的 Windows GUI 用戶端。它借助深度卷積神經網絡對圖檔 & GIF & 視訊進行超分辨率放大(即放大與降噪) 以及 對視訊進行插幀(即補幀)。
開源位址:https://github.com/nagadomi/waifu2x
功能特性:
- 自動化處理多種媒體: 支援處理圖檔的同時,實作了自動化處理 GIF&APNG 和視訊。
- 全圖像風格支援: 内置多種算法, 無論是二次元動漫還是您日常拍攝的照片&錄像,都可以進行清晰化處理。
- 強大的相容性: 内置多個引擎, 幾乎與所有現代 Windows PC 相容。
- 易于使用的圖形使用者界面。
- ...
效果展示:
VS
2. 一條指令把 Web 頁面變成電腦桌面應用 - Nativefier
小秋(開源前哨)
Nativefier 是一個指令行工具,可以輕松地将任何網站轉換為桌面應用程式,支援 macOS、Linux、Windows 作業系統。
基本資訊
名稱 | Nativefier |
版本 | 45.0.0 |
支援平台 | macOS、Linux、Windows |
開源位址 | https://github.com/nativefier/nativefier |
安裝指令:
npm install -g nativefier
使用方法:https://mp.weixin.qq.com/s/3c-Pdi7zdBVhyycFIuf38A
3. 無需下載下傳和安裝的線上錄屏工具 - RecordScreen.io
RecordScreen.io 是一款不需要安裝就能使用的線上錄屏工具,支援錄制整個螢幕、浏覽器、指定标簽頁,支援前置攝像頭,無需下載下傳任何安裝包,有浏覽器、有網就能錄屏。
功能特性:
- 不需注冊或登入帳号,不用下載下傳或安裝任何軟體,也不用安裝浏覽器插件。
- 直接用浏覽器内建功能,一鍵完成電腦螢幕畫面錄制。
- 錄制完成的影片不上傳到伺服器,隐私及安全性都很可靠,直接下載下傳到電腦中。
怎麼使用 RecordScreen.io 錄屏?
兩種錄屏模式:螢幕 + 攝像頭或僅螢幕,任選其一,點選開始錄制,選擇錄制螢幕即可,支援麥克風同步錄制聲音,操作簡單。
錄制後産生的檔案格式為 .webm,可供下載下傳。
如何播放 webm 格式的影片?
- 把影片檔案拖曳到 Google 浏覽器分頁,直接開啟,就能播放這種格式影片。
- 手機上可以用 Google 相冊等 App 當作播放器。
- 可以把 webm 傳送到 Google 雲端硬碟、 YouTube ,都可以變成線上影片播放。
網站連結:https://recordscreen.io/
參考資料:
- https://www.appinn.com/recordscreen-io/
- https://mp.weixin.qq.com/s/n3xwbwrEP3fC7KW5HEeDRQ
方法
1. 産品經理如何做好驗收測試?
東瓶西鏡(産品大峽谷)
産品經理驗收的意義:
- 形成閉環:産品經理驗收測試結果,能夠形成研發流程的閉環,有利于産品品質和效率的雙保障。
- 心中有數:産品經理驗收後,對于接下來的外部驗收操作、試營運及正式上線,具有更好的借鑒、指導意義和教育訓練價值。
- 疊代需求:從産品角度進行驗收測試,既可以更好的複核主要功能與核心業務流程的符合性,也可以提前發現并記錄需要疊代的需求。
- 降低成本:通過規範的産品驗收工作流程,可以統一工作目标和行動指南,節約溝通成本,避免不必要的工作偏差。
所謂的閉環,如下圖所示:
産品經理應該怎麼驗收呢?
- 驗收時機:計劃在什麼關鍵節點進行驗收測試?一般是在測試完成之後,正式釋出之前。當然驗收越靠前,變更的影響越小。
- 驗收要求:計劃達到什麼要求之後進行驗收?一般是需求全部開發且測試完成,有遺留的需求和問題也需要進行驗收。
- 驗收流程:驗收的整個流程是什麼。一般是:開發完成 → 測試完成 → 驗收清單 → 驗收申請(測試會提) → 準備環境 → 驗收開始 → 驗收回報 →驗收結束
- 驗收标準:達到什麼标準才算驗收通過。每個公司每個産品的要求都不一樣,需求自己制定。
2. 怎麼做單元測試?
ciuwaalu(騰訊技術工程)
在實際研發與測試工作中,單元測試是保證代碼品質的有效手段,也是效能優化實踐的重要一環。
那,什麼是單元測試?
簡單點說就是,開發同學 在 編碼階段 以 函數方法 為粒度編寫測試用例,檢驗 代碼邏輯 的正确性。
注意四個核心要素:
- 角色:開發同學
- 階段:編碼階段
- 粒度:函數方法
- 檢驗:代碼邏輯
單元測試的好處是什麼?
當然是能夠盡早發現編碼中的低級錯誤。
早發現低級錯誤的好處是什麼?
節省成本,降低風險。
來自微軟的資料,不同測試階段發現 BUG 的平均耗時,供參考:
- 單元測試階段,平均耗時 3.25 小時
- 內建測試階段,平均耗時 6.25 小時 (+92%)
- 系統測試階段,平均耗時 11.5 小時 (+254%)
單元測試該怎麼做呢?
一個模闆:GWT(被測函數、斷言、輸入資料、預期輸出這幾個要素的模闆)
- Given 描述測試的前置條件或初始狀态。
- When 描述測試過程中發生的行為。
- Then 描述測試結束後斷言輸出結果。
三條準則:
- 單元測試必須經常跑:持續內建,自動化運作。
- 從增量到存量,從主要到次要:從覆寫新子產品、新功能做起,單元測試先跑起來再說,不要追求 100% 的覆寫率,但主要功能邏輯要完成覆寫測試。
- 測試用例需要逐漸積累:上線前已經有了第一批用例,每次疊代都會增加新用例來覆寫變更。
一些經驗:以黑盒指導功能驗證,以白盒提升覆寫率
- 黑盒測試為主:黑盒測試驗證功能邏輯實作是否正确,不關心内部實作方式,代碼優化重構用例仍可複用。
- 白盒測試為輔:白盒測試關注黑盒測試用例遺漏的分支、路徑,可以聚焦于異常處理邏輯是否合理。
3. 如何不依靠運氣變得富有?
Naval Ravikant(衛夕指北)
2018年5月31日,Naval Ravikant(矽谷著名的投資人) 在 Twitter 上一口氣發了 39 條推文,講如何不依靠運氣變得富有。
下面是節選:
- 追求财富,而不是金錢或地位。财富意味着擁有在你睡覺時也能幫你賺錢的資産,而金錢是我們轉移時間和财富的方式,地位則是你在社會等級中的位置。
- 你不會因為販賣你的時間而變得富有,你必須擁有産權(如一個公司的一部分股權)才能獲得财務自由。
- 你可以通過提供社會大衆想要但還不知道如何獲得的東西而變得富有。當然,你必須成規模地傳遞;
- 選擇一個能與目光長遠的人一起長期從事的行業。
- 玩那種有疊加效應的遊戲,生活中的所有回報,無論是财富、人際關系還是知識,都來自複利。
- 學會營銷,學會創造,如果你能做到這兩點,你會變得勢不可擋。
- 用獨一無二的知識、責任感和影響力武裝自己。
- 獨一無二的知識那種你無法僅僅通過教育訓練獲得的知識,如果社會能教育訓練你,同樣也能教育訓練别人,别人就能替代你。
- 你可以通過追随真正的好奇心和熱情,而不是追随當下的熱點進而找到那種獨一無二的知識。
- 獨一無二的知識是通過學徒制被傳授的,而不是通過學校。
- 獨一無二的知識通常具有高技術性或高創造性,它不能被外包或自動化。
- 财富需要利用杠杆,商業杠杆來自資本、人才和邊際成本為0的産品(如代碼和媒體)。
- 如果你不會寫代碼,那麼就寫書和部落格,錄制視訊和播客。
- 判斷力需要經驗,但可以通過學習基本技能更快地建立。
- 學習微觀經濟學、博弈論、心理學、說服力、倫理、數學和計算機科學。
- 讀比聽快,做比看快。
- 你應該忙到“沒時間和别人喝咖啡”,同時仍然保持一個整潔的月曆。
- 計算并嚴格執行你的個人時薪,如果解決某個問題所節省的成本小于你的時薪,就不要做這件事。如果外包一件事的成本比你的時薪便宜,那就把這件事外包。
- 還是要盡你所能努力工作,盡管與誰一起工作以及從事什麼工作比單純努力工作更重要。
- 努力将你做的事情成為世界上這個領域最好的,不斷重新定義你所做的事情,直到它變成真的。
言論
1、
人總是短期内高估自己,卻又低估自己長期的變化。
| 工程師日常
2、
3、
圖檔
1、靠 BUG 支撐起來的産品...
2、
來源:https://www.monkeyuser.com/
訂閱
本周刊每周五釋出,會同步更新在微信公衆号。
微信搜尋“畢小煩”或者掃描下面的二維碼,即可訂閱。
如果文章對你有幫助,記得留言、點贊、加關注哦!
(完)