a)軟件測試、質量保障覆蓋的領域比較寬廣。需要測試/質量保障人員從業務、技術,乃至政策都有一定了解和沉淀。我們需要掌握的知識太多了,技術、業務發展都很快。
b)通過參與項目、產品開發整個軟件開發測試生命周期不斷進行迭代,去研究最新技術、了解流行熱門市場,從而盡可能在能力范圍內提升軟件質量,保障項目或產品的交付。
c)個人遇到的最大挑戰,是業務知識的不足會對測試質量精準性產生一定影響。作為技術人員,在業務領域比不過前線同事,于是個人利用一切機會參與業務會議或市場活動,通過實戰學習來積累業務知識,減少與業務人員交流中的信息差,提升自己測試業務需求分析的能力。
a)敏捷開發和DevOps模式是繼傳統瀑布模型后的全新開發測試模式。敏捷開發測試,主要將開發和測試人員組成一個研發小組,直接在Scrum老大帶領下,完成產品/項目,逐個清掃產品需求隊列中的待辦事項,開發測試一體化。DevOps是更加偏向于運維側,開發與運維人員直接對接,更快速高效實現開發到部署、運維的鏈路,可以有效提高產品質量和穩定性,開發運維集成化。
a)軟件測試深度,傾向于專業性,即在某一個業務或某一類技術上,深入挖掘做到行業內的標桿,即努力成為專家精英。測試廣度,需要全面了解業務領域和市場變化,能夠掌握核心主流測試方法,熟悉各種熱門測試工具,重視廣覆蓋。
b)個人主要通過自動化工具,編寫測試腳本來完成批量測試任務,提升測試覆蓋率,盡可能覆蓋全部測試用例的執行。通過與業務人員密切溝通確認最重要的測試項目,調整優先級優先保障了核心的模塊通過測試驗收,深入完成主線業務測試流。這樣就能根據自己能力和經驗,提高整體測試工作效率,完成任務目標,即可以帶來“最佳的”質量保障效果。
a)AI和機器學習技術可以對整個軟件開發測試領域帶來顛覆性改變。在AI自我學習過程中,軟件測試與質量保障將變得異常簡單,通過端到端代表模塊自主調整和改進,可以快速自動完善測試腳本。而原有的傳統工作模式、自動化集成的質量在AI輔助下會進一步提升。而人工疏忽造成的軟件bug或高負荷幾乎不會出現。我們可以更關注軟件產品本身的業務創新和技術拓展。
b)不過潛在的風險主要是AI在學習的起步階段,仍需要人工進行大量數據校對和檢查。大模型的關鍵就是數據的準確性,我們必須確保自我生成、自我學習、自我組建的測試框架中,數據都是合法合規,也是符合業務要求的數據源。
a)軟件安全方面,主要還是依托傳統的安全測試方法,通過靜態、動態掃描來初步篩查粗略的代碼編寫規范。通過防范XSS腳本、DDOS攻擊來擋住大部分安全壓力負載、檢測SQL語句注入來規避植入數據庫相關的安全訪問漏洞,從而避免數據泄露。
b)人員管理方面,業務需要全員有安全和數據泄露意識,經常組織團隊提高安全相關的技術培訓。
a)云原生應用測試,主要是在各種云平臺成為主流應用基礎架構后出現的新型測試策略技術。與傳統測試相比,其優勢在于很好的利用了云資源,通過微服務、低代碼部署、模塊化組件等,高效便捷完成各種應用的部署和實現。能夠很好推進自動化開發測試,DevOps等,集成CI/CD也在云應用后變得更容易。
b)另外,除去傳統集成測試和持續集成/交付,契約測試是云原生應用中的一個特別測試策略,即測試服務會在約定的場景和配置下完成,從而保障服務和通訊間的準確性、穩定性,減少集成問題帶來的風險。
a)移動設備主要就是針對主流操作系統(蘋果/安卓)和網絡環境(WIFI/WLAN,4G/5G)進行兼容性測試。需要有獨立專門的測試環境來完成測試工作。取決于項目/產品用戶友好性要求,也需要團隊有一定的預算經費。
b)在交付時間允許條件下,盡量采用真實設備進行測試。條件不允許的,可以用瀏覽器中移動模擬工具來模擬主流設備的layout UI,展示屏顯效果和元素位置。但設備本身與其他應用程序的交叉兼容測試,只能通過真機來驗證。
a)測試管理是項目管理一個子集。干系人管理我們本著開誠布公,團隊共進退,站在一個統一的集體維度來看。
b)大到戰略目標,小到項目任務目標,都需要提前規劃好。測試負責人需要安排好月/周/日的各種會議,會前準備,會后編寫會議紀要來保證各方理解一致。
c)測試人員與開發人員不是對立關系,而是相輔相成的合作關系。對產品業務側提出的需求和業務事項,需要分類記錄,然后仔細評估,通過優先級排序,在各個職能同事都認可前提下,展開工作。
a)測試計劃可能根據整個項目計劃有一定調整。注意調整了計劃后,需要與開發團隊/項目組核心成員保持溝通,使得大的項目計劃不被影響。也要及時通知用戶側,以免業務同事期望產生偏差。
b)測試策略按需調整,若不是嚴重的范圍變更,原有測試策略應該可以繼續使用。這需要測試人員及時對齊項目目標,當然有效的溝通和協作是不變的前提。
a)自動化測試肯定會隨著AI技術發展,更加智能地,被大家更多、更高效地運用。各種應用工具的賦能,其實都是靠自動化技術成熟發展后產生的成果。
b)前面提到過,主要需要注意點在于,我們在沒有特別成熟使用AI技術,沒有完善大模型學習時,仍然需要人工仔細審核和檢測自動化過程中,可能遺漏或者錯誤的程序配置、模塊腳本或生成的數據集合。對于自動化+AI等技術的學習深入,不斷糾偏存在的潛在錯誤。