作者丨Lena Yakimova
策劃丨孫淑娟
為了(le)滿足業務需(xu)求,思想前(qian)衛的公(gong)司會將 QA 嵌入(ru)到 SDLC 中。這篇文章(zhang)將帶您了(le)解應在每個(ge)開發階(jie)段引入(ru)哪些 QA 活動。
幾乎無可爭辯的,速度(du)和創新(xin)是產品高效交(jiao)付的支柱,這有助于(yu)在當(dang)今市場上取得成功(gong)。憑借順(shun)利引入新(xin)技術(shu)并(bing)更快地發布實用軟(ruan)件的能(neng)力,公司走(zou)上了從 COVID-19 大流行及(ji)其(qi)后果中恢復并(bing)調整到"下一(yi)個常(chang)態"的道路上。
為了(le)自(zi)信地做到這一點并保證軟(ruan)件(jian)滿(man)足(zu)計劃的業務(wu)需求,思想(xiang)前衛(wei)的公(gong)司(si)將 QA 引入到了(le)軟(ruan)件(jian)開(kai)發生命周期(SDLC)中。
QA 是所有流程(cheng)階(jie)段(duan)不可(ke)(ke)或缺(que)的(de)一部分,它有助于避免在關鍵缺(que)陷修(xiu)復、提高(gao)軟件可(ke)(ke)信度和(he)安全性以及降(jiang)低系統突然(ran)停機的(de)風險方面產生不可(ke)(ke)預見的(de)費用。除了改進(jin)功(gong)能(neng)外,QA 還(huan)會衡量(liang)在當前狀態(tai)下將(jiang)功(gong)能(neng)發(fa)布到生產環境中(zhong)對業務(wu)的(de)影響,從而提高(gao)客(ke)戶忠誠(cheng)度并促進(jin)整體銷售(shou)。
那么,在每個(ge)開發階段應該引入哪(na)些 QA 活動呢?讓我們(men)仔細閱(yue)讀本文中(zhong)的答(da)案。
SDLC 的 4 個階段中必備的最(zui)佳實踐
瀑布式(shi)(shi)、敏捷式(shi)(shi)、快速應用開發 (RAD)、螺旋模型... 根據方(fang)法(fa)和產品(pin)的特性,開發過程中不(bu)同階段略有不(bu)同。但是,無論你的公司堅持哪種方(fang)法(fa),在每個 SDLC 階段進行(xing)測試都變得至關重要。
這是一個真實案例:幾年前,三(san)星召回了(le) 250 萬(wan)部 Note7 智能手機,導致(zhi)損失數十億美元。這都是因(yin)為軟件缺陷——電(dian)(dian)池管理(li)系統的瓶頸(jing)——負責監控和(he)停止充電(dian)(dian)過(guo)(guo)程,導致(zhi)過(guo)(guo)度充電(dian)(dian)和(he)爆炸。
不幸的是,這種(zhong)情況屢(lv)見不鮮。因此,為了最大(da)限度(du)地提高(gao)開(kai)發(fa)效率并(bing)減少(shao)因修復后(hou)期發(fa)現的缺(que)陷而造成的財務和聲(sheng)譽損失(shi),我建議在(zai)每個基本開(kai)發(fa)階段考慮必要的 QA 活動。
圖片
一、需求收集
如果不了(le)解(jie)目標(biao)(biao)受(shou)眾、應(ying)用解(jie)決(jue)的問題、性能(neng)、安全性、合規性和許多其他標(biao)(biao)準,就(jiu)不可能(neng)規劃開發和測(ce)試工作。
考慮到修復缺(que)陷(xian)的成(cheng)本在每(mei)個階(jie)段(duan)都呈指數(shu)級增長,QA 工程師需執行需求測試,以減少從一開(kai)始的返工,并發現 IT 解決方(fang)案(an)業(ye)務邏輯中的錯誤、歧義或不(bu)一致。
在測試(shi)需求(qiu)時,專家確認產品(pin)的(de)功能、UI、必要的(de)硬件(jian)和(he)軟件(jian)標準一(yi)致(zhi)、清晰且無(wu)錯誤。這允(yun)許(xu)進一(yi)步(bu)創(chuang)建無(wu)故障的(de)測試(shi)計劃、測試(shi)用(yong)例(li)(li)、用(yong)例(li)(li)、可追溯性矩陣和(he)其他工件(jian)。
然(ran)而(er),測試只是成(cheng)功的一半。測試文檔的標(biao)志是其動態性質(zhi)。在沒有(you)任何更(geng)(geng)(geng)新(xin)的情況下,它逐漸變得毫無價(jia)值,這(zhe)些(xie)更(geng)(geng)(geng)新(xin)是由不斷變化的需求、轉移優先級或不斷將新(xin)代(dai)碼(ma)傳送到生產環境造成(cheng)的。因(yin)此,除了測試之(zhi)外,QA 團隊還必須及時更(geng)(geng)(geng)新(xin)測試文檔,以消除任何流程故障。
二、分析與設計
基于上(shang)一階段的(de)結果,開發團(tuan)隊設(she)計即將推出的(de)應用程序的(de)架構(gou)并創建(jian)其原(yuan)型。
為確保產品取(qu)得商業上的(de)成功,QA 團(tuan)隊首(shou)先進(jin)行原型(xing)測試,以根(gen)據客戶反(fan)饋及早發現 SDLC 中的(de)問題,并在開(kai)發開(kai)始之前引入必要的(de)更改。通過專注于識(shi)別可能在以后導(dao)致(zhi)系統故障的(de)邏輯缺陷,工程(cheng)師顯(xian)著減(jian)少了額外軟件創建過程(cheng)所需(xu)的(de)時間和財(cai)務工作(zuo)。
特別關注(zhu)原型的可(ke)用性測(ce)試(shi)。這只是提(ti)供引人入(ru)勝(sheng)的設計的第一步,必須考慮(lv)一些限制,因為它(ta)們可(ke)能會(hui)影響現階段的測(ce)試(shi)結果。例如,構思(si)不佳的顏色(se)陣列可(ke)能會(hui)在屏幕上缺乏直觀的元素,從而使產(chan)品使用變得復雜。牢記它(ta)們有助于確定(ding)所需的測(ce)試(shi)并更好地掌握結果。
三、軟件開發
讓我們來(lai)看看軟件測(ce)試(shi)(shi)活動是如何有(you)助于交付(fu)無瑕疵的產品。例如,單(dan)元測(ce)試(shi)(shi)單(dan)獨驗證可以在系(xi)統中邏(luo)輯隔離的每個(ge)應用(yong)程(cheng)序(xu)組件,以確保其行為符合(he)設計方式。
通過適當(dang)的單元測(ce)試,開(kai)發人員可以自信的實現代碼重構,使(shi)工作(zuo)流程(cheng)更(geng)加敏捷,并(bing)及早發現軟件的問題,確保簡化集成和調試過程(cheng),并(bing)大大降(jiang)低修復缺陷的成本。
經(jing)過(guo)測試的(de)(de)單(dan)元現在(zai)形(xing)成(cheng)(cheng)了(le)模(mo)塊(kuai),這些(xie)模(mo)塊(kuai)反(fan)過(guo)來又創建(jian)了(le)一個完整的(de)(de)系(xi)統。在(zai)單(dan)元測試之后,集成(cheng)(cheng)驗證可幫助(zhu)軟件(jian)工程(cheng)師確保由(you)不同團隊編寫的(de)(de)這些(xie)系(xi)統組件(jian)之間彼此和諧地(di)融合在(zai)一起。
敏捷和(he)(he) DevOps 生(sheng)態系統中的單(dan)元和(he)(he)集成測(ce)試(shi)通常(chang)可以(yi)自動化(hua),以(yi)顯(xian)著縮(suo)短測(ce)試(shi)時(shi)間、最大(da)化(hua)測(ce)試(shi)覆蓋率(lv)、多次(ci)重用相同的測(ce)試(shi)用例并避免人(ren)為因素。
圖片
當開發人員專注于執行單元和集成測(ce)試(shi)時,QA 團隊會(hui)創建測(ce)試(shi)工(gong)具以確保高(gao)的軟件質量并為發布(bu)準備功(gong)能(neng)。為了取得成功(gong),這(zhe)里有 10 種測(ce)試(shi)類型,根(gen)據產品細節和業務需求,這(zhe)些類型可能(neng)會(hui)派上(shang)用場:
1、功能測試
從一開始,功能(neng)測(ce)試(shi)就確保(bao)不存在可(ke)能(neng)阻礙進一步(bu)測(ce)試(shi)的(de)關鍵問題,并保(bao)證(zheng)最(zui)近添加的(de)功能(neng)已經(jing)完全實現,而不會影響產品的(de)邏輯(ji)。
2、性能測試
通(tong)過服務器端性能(neng)測(ce)試,QA 工程師(shi)評估系統是否能(neng)夠(gou)承受負載,發(fa)現其弱點,并提供詳(xiang)細的改進建(jian)議。這(zhe)有助(zhu)于降低軟(ruan)件 TCO 并建(jian)立有效(xiao)的性能(neng)監控。
客戶端性(xing)能(neng) QA 會衡量 HTML 頁面(mian)的加(jia)載和呈現時(shi)(shi)間,并找(zhao)出影響客戶體驗(yan)(繁重(zhong)的界面(mian)、長的響應時(shi)(shi)間、較差的整體性(xing)能(neng))并阻礙與和品牌進行愉快互動(dong)的問(wen)題。
3、網絡安全測試
基于 OWASP 方法的(de)手(shou)動和自動漏(lou)洞(dong)評(ping)估可發現安全漏(lou)洞(dong),并(bing)確保對用戶敏感數據的(de)高(gao)度(du)保護。通(tong)過將(jiang)最(zui)佳安全措施盡早(zao)注入(ru) SDLC,公司可以最(zui)大限度(du)地降(jiang)低惡意入(ru)侵者(zhe)執(zhi)行攻擊(ji)的(de)風險并(bing)挽救其聲(sheng)譽。
4、自動化測試
由于快速質量是敏捷方法和高效產品交付的基石,因此采用自動化(hua)測(ce)試(shi)是更快地(di)構建(jian)、測(ce)試(shi)和交付高質量軟(ruan)件的方法。
為了(le)實現(xian)這些(xie)目標,QA 工程師(shi)定(ding)義了(le)自動(dong)化(hua)和工具包的(de)范圍、實施所(suo)需的(de)框架、配置環(huan)境、準備測試(shi)數據并開發腳本(ben),分析測試(shi)結果(guo),同時(shi)提供對自動(dong)化(hua)測試(shi)的(de)全(quan)面支(zhi)持和監(jian)控。
5、跨瀏覽器測試
確(que)定(ding)應用程(cheng)序是(shi)否可以(yi)在不(bu)(bu)同的(de)瀏覽器(qi)中(zhong)無(wu)縫運行,這有助于提供(gong)引人(ren)入勝(sheng)的(de)用戶(hu)體(ti)驗(yan)并擴大目標受眾(zhong)。為此(ci),QA 工程(cheng)師分析不(bu)(bu)同地域的(de)瀏覽器(qi)使用情況統計(ji)信息,選(xuan)擇最(zui)受歡迎的(de)變體(ti),并執(zhi)行測試以(yi)確(que)保軟(ruan)件操作的(de)一(yi)致性。
6、跨平臺測試
兼容軟(ruan)件的(de)(de)操作(zuo)系(xi)統越(yue)多,公司可以(yi)吸(xi)引的(de)(de)客戶就越(yue)多。因此 QA 供應商會執(zhi)行測試以(yi)發現(xian)操作(zuo)系(xi)統級性能、UI 不一(yi)致和特(te)定于平臺的(de)(de)故障,并(bing)確(que)保軟(ruan)件在最(zui)低系(xi)統要(yao)求下(xia)按設計運行。
7、移動應用測試
根據 Statista 的(de)(de)數據,到 2023 年移動(dong)應用程序(xu)帶(dai)來的(de)(de)全球(qiu)利潤將(jiang)超過 9350 億美元。隨(sui)著全球(qiu)下(xia)載量的(de)(de)增(zeng)加,市場上(shang)(shang)的(de)(de)激烈競(jing)爭迫使公司更多地考(kao)慮(lv)其(qi)質(zhi)量并引入 QA。為了提(ti)高結果的(de)(de)效率和準確性(xing),提(ti)供商(shang)會在真(zhen)實設備(bei)上(shang)(shang)進行測(ce)試。
8、無障礙測試
正如(ru)世衛組(zu)織所(suo)述,有超過 10 億(yi)人(占世界人口的 15%)患有特定的身體或(huo)認(ren)知(zhi)障礙(ai),因(yin)此設計適合所(suo)有社會群(qun)(qun)體的軟件(jian)成為首要目標(biao)。通過驗證其是否符合 WCAG 2.1 或(huo) AODA 等國際標(biao)準,公司可以照顧(gu)目標(biao)受眾并擴(kuo)大其客戶群(qun)(qun)。
9、本地化測試
在滿(man)足特定(ding)(ding)國家 / 地區(qu)(qu)的語言、文化和區(qu)(qu)域要(yao)求方(fang)面(mian),針(zhen)對(dui)國際市場的軟件首當其(qi)沖。為了定(ding)(ding)制產品,使(shi)其(qi)被目標受(shou)眾視為符合他(ta)們(men)需求的獨特解決方(fang)案,QA 工(gong)程師(shi)專注于:
當地法(fa)規(例(li)如,遵(zun)守數據隱私法(fa))
文(wen)化(hua)方(fang)面(例如,避免冒犯性符號(hao)或不適當(dang)的(de)顏色(se))
用(yong)戶(hu)體驗(yan)(例如,日(ri)期、地址和貨幣的布局)
視覺材料(例如,必須符合(he)文化期望)
腳(jiao)本(例(li)如,從內容到(dao) UI 的所有方面都按照既定的語(yu)言規則顯示(shi))
10、可用性測試
通過評估用(yong)戶適(shi)應應用(yong)程序設(she)(she)計和(he)執(zhi)行(xing)不(bu)同(tong)任(ren)務的難易程度(du),QA 工程師可(ke)(ke)以發現(xian)他們在(zai)原型設(she)(she)計過程中可(ke)(ke)能(neng)(neng)忽略的缺(que)陷,以確保用(yong)戶使用(yong)過程盡可(ke)(ke)能(neng)(neng)透明(ming)、直(zhi)觀和(he)簡(jian)單。
四、部署和維護
在期待(dai)已久(jiu)的(de)發(fa)布之前,必須進行用戶(hu)驗收測(ce)試,以(yi)確保(bao)軟件可(ke)(ke)以(yi)投入(ru)生產,滿足所有用戶(hu)需(xu)求和業務需(xu)求,并且保(bao)證遺漏任(ren)何缺陷的(de)可(ke)(ke)能性是最低的(de)。
一旦達到 UAT 推(tui)出標準,團隊(dui)就會發布(bu)功(gong)能。通常每(mei)家公司都會設定自(zi)己的(de)(de)指標,例如成功(gong)完成測試的(de)(de)數量或已識別的(de)(de)不(bu)同嚴(yan)重性問題的(de)(de)百(bai)分比。
一旦發(fa)布(bu)結束,新功能(neng)(neng)即將推出,這意味著每次將代碼更改交付(fu)到生(sheng)產環境(jing)時,QA 團隊都(dou)必須(xu)執行回歸測試(shi),以(yi)確保(bao)修(xiu)改后的(de)軟件部(bu)分(fen)不(bu)會影響現有功能(neng)(neng)。
通過分(fen)析(xi)潛在的風險區域并(bing)執行(xing)多(duo)(duo)輪(lun)(最多(duo)(duo)三輪(lun))回(hui)歸測試以及中間(jian)缺陷驗證(zheng),QA 工程(cheng)師可以提(ti)高(gao)軟件質量并(bing)穩(wen)定改進軟件應用程(cheng)序。
使用 QA 構建可靠的 IT 產品
為了提供吸引目(mu)標受眾(zhong)的(de)引人入(ru)勝的(de)軟件(jian)解決方(fang)案(an),公司可以將 QA 注入(ru)到整個軟件(jian)開發生命周期,而不是在開發完(wan)成后(hou)完(wan)成任務,使 QA 工程師超(chao)負(fu)荷工作。
因此,公(gong)司在整(zheng)個核心 SDLC 階段(duan)堅(jian)持的基本(ben)質(zhi)量保(bao)證實踐應包括(kuo):
規劃期間的需求測試
設(she)計過程中的(de)原(yuan)型以及可用性驗證
測(ce)試文檔的(de)創建和全面性測(ce)試,以在開(kai)發階段(duan)提高(gao)產品質量
在(zai)部署(shu)和發布(bu)后的支持階段(duan)進行(xing) UAT 和回歸測試
當 QA 應(ying)用于復雜環境時(shi),這(zhe)些工作可以(yi)幫助組織(zhi)降低運營費用,因為它們(men)能夠(gou)及早發現軟件問題,從(cong)(cong)而(er)將修復成本(ben)降至(zhi)最低并提(ti)高開發速度,并且從(cong)(cong)一開始就進(jin)行徹(che)底的(de)測(ce)試(shi),因此返工的(de)可能性很小(xiao)。