作者 | Vivek Mannotra
譯者 | 劉雨瑤
策劃 | 云昭
設(shè)計思維是一種強大的范式,軟件測試人員和質(zhì)量保證專員(QA,Quality Assurance)可以使用它來創(chuàng)建更多以用戶為中心的軟件。
Adobe曾委托Forrester咨詢公司進(jìn)行了一項研究,結(jié)果顯示當(dāng)以最高優(yōu)先級和高質(zhì)量的方式設(shè)計時,以設(shè)計為主導(dǎo)的公司反饋的忠實客戶增加了50%,市場份額增加了41%。它在幫助指導(dǎo)產(chǎn)品開發(fā)以及通過提供差異化體驗與客戶建立聯(lián)系方面發(fā)揮著多層次的作用。
設(shè)計主導(dǎo)型公司是指將設(shè)計置于品牌核心地位的公司。他們將設(shè)計原則融入到每一件事中-從研究、戰(zhàn)略到創(chuàng)建內(nèi)容。他們超越交易,專注于與客戶建立持久而有意義的關(guān)系的良好體驗。
本文探討有哪些可以運用于研發(fā)測試的設(shè)計思維。
1.設(shè)計思維原則
設(shè)計思維背后的基本原則是同理心、構(gòu)思以及原型設(shè)計。同理心是關(guān)于理解用戶的需求和觀點。構(gòu)思是關(guān)于產(chǎn)生新的和創(chuàng)新的想法。原型設(shè)計是關(guān)于創(chuàng)建產(chǎn)品原型并與實際用戶共同測試以獲取反饋。
設(shè)計思維涉及的五個步驟是:
1.同理心:深入了解用戶的需求和觀點。
2.定義:定義需要解決的問題。
3.頭腦風(fēng)暴:產(chǎn)生新的和創(chuàng)新的想法。
4.原型制作:創(chuàng)建產(chǎn)品的原型。
5.測試:與實際用戶共同測試產(chǎn)品以獲得反饋。
這些步驟可以應(yīng)用于任何主題,以便我們更深入地了解它。設(shè)計思維是一種以人為核心的方法,它將最終用戶的需求置于任何產(chǎn)品開發(fā)的中心。這種方法論允許企業(yè)通過建立對客戶方便且易于使用的產(chǎn)品,來實現(xiàn)最終的目標(biāo)。
此外,設(shè)計思維可用于在初始階段測試未來產(chǎn)品及其功能的可行性。這種方法為軟件開發(fā)帶來了可行性檢查、零告警、零意外、更加清晰透明等優(yōu)勢。
2.應(yīng)用于軟件測試的設(shè)計思維
為了提高軟件產(chǎn)品的質(zhì)量,在軟件程序測試領(lǐng)域中應(yīng)用設(shè)計思維原理可以提高軟件產(chǎn)品的質(zhì)量。設(shè)計思維有助于生成用于測試軟件產(chǎn)品新的創(chuàng)新想法。設(shè)計思維有助于為測試軟件產(chǎn)品產(chǎn)生新的和創(chuàng)新的想法。
設(shè)計思維的每個原則都可以應(yīng)用于軟件測試,以開發(fā)更多以用戶為中心的軟件:
- 同理心:為了設(shè)計以用戶為中心的軟件,首先要了解最終用戶的需求和痛點。這可以通過訪談、調(diào)查和焦點小組的用戶研究來完成。此外,質(zhì)量工程師可以通過分析觀察最終用戶,以更好地了解他們?nèi)绾闻c應(yīng)用程序交互。
- 定義:一旦了解了最終用戶的需求,下一步就是定義軟件需要解決的問題。這有助于指導(dǎo)軟件的開發(fā)并確保它專注于正確的事情。這涉及業(yè)務(wù)分析、用戶體驗設(shè)計和快速原型設(shè)計。從測試的角度來看,定義具有正確動機的測試用例是確保測試策略整體有效的一個非常關(guān)鍵的部分。
- 頭腦風(fēng)暴:一旦定義了問題,下一步就是提出潛在的解決方案。這可以通過與團隊的頭腦風(fēng)暴會議來完成。重要的是要提出盡可能多的想法,而不是在這個階段對它們進(jìn)行評判。對于測試人員,它將包括在業(yè)務(wù)分析師(BA,Business Analyst)、設(shè)計和技術(shù)領(lǐng)導(dǎo)層之間共享上一步中設(shè)計的測試計劃列表,并確保所有利益相關(guān)者都在同一頁面上。這可能還涉及各種其他決定因素,例如自動化程度、回歸類型、最佳報告結(jié)構(gòu)等。
- 原型制作:下一步是利用已經(jīng)產(chǎn)生的想法并創(chuàng)建原型。這些原型可用于測試想法的可行性并獲得用戶的反饋。這可能包括為一些關(guān)鍵流程實施測試計劃,以便更好地了解測試過程本身。在所有階段實施自動化測試,包括使用最新工具、云平臺和基于人工智能(AI,Artificial Intelligence)/機器學(xué)習(xí)(ML,Machine Learning) 的工具進(jìn)行單元、集成、系統(tǒng)和驗收測試。
- 測試:最后一步是在生產(chǎn)環(huán)境和實際用戶中測試軟件。這將有助于確保軟件滿足他們的需求,并且確保軟件對用戶友好。在所有步驟中生成適當(dāng)?shù)膱蟾娌⑦M(jìn)行溝通,以確保在發(fā)生故障時采取正確的行動。
盡管實施具有適當(dāng)設(shè)計思維的測試策略無法替代真實的用戶接受度,但將有助于減少測試工作流程中的任何低效和非必要活動。
3.敏捷開發(fā)和瀑布式開發(fā)的設(shè)計思維
設(shè)計思維和敏捷開發(fā)之間有一些關(guān)鍵的區(qū)別。設(shè)計思維專注于從用戶的角度解決問題,而敏捷開發(fā)專注于快速有效地交付功能。設(shè)計思維也強調(diào)協(xié)作和迭代,而敏捷開發(fā)則強調(diào)個人責(zé)任和義務(wù)。
在敏捷開發(fā)下,使用DevOps軟件的測試團隊完全有理由在他們的測試策略中實施設(shè)計思維原則。事實上,這樣做可能是有益的,以便更好地理解用戶的需求并找到更快、更有效地交付功能的方法。
設(shè)計思維可以對敏捷開發(fā)和瀑布式開發(fā)模式中的軟件開發(fā)和測試團隊產(chǎn)生深遠(yuǎn)的影響。在敏捷開發(fā)中,設(shè)計思維幫助團隊專注于用戶體驗和客戶旅程,而在瀑布式開發(fā)中,它幫助團隊優(yōu)化需求收集和文檔部分。
該團隊將開發(fā)出更好的能力用來識別用戶需求并相應(yīng)地開發(fā)軟件。團隊還可以盡早、經(jīng)常測試軟件,以確保軟件滿足用戶的需求。
4.手動測試和自動測試的設(shè)計思維
在具有傳統(tǒng)團隊結(jié)構(gòu)的技術(shù)初創(chuàng)公司中,流程分為業(yè)務(wù)分析、用戶體驗設(shè)計、軟件開發(fā)和質(zhì)量保證,總體范式可以是敏捷的,也可以是瀑布式的。自動化測試在社區(qū)中受歡迎的程度在不斷的提升,預(yù)計未來幾年自動化測試的占有的總百分比將飆升,尤其是由于基于云的工具出現(xiàn),這使得團隊在各個層面實施和協(xié)作自動化測試變得非常容易。
在手動測試場景中,設(shè)計思維可用于開發(fā)項目的一些特定需求的測試策略。例如,如果目標(biāo)是提高網(wǎng)站的可用性,團隊可能會使用設(shè)計思維來提出如何像真實用戶一樣測試網(wǎng)站的想法。這可能涉及創(chuàng)建用戶配置文件、識別用戶任務(wù)和創(chuàng)建測試場景。一旦團隊制定了計劃,他們就可以執(zhí)行測試并分析結(jié)果,以查看網(wǎng)站是否滿足用戶的需求。
設(shè)計思維可以通過創(chuàng)建更加以用戶為中心的方法來設(shè)計和開發(fā)測試自動化腳本,用于增強基于云的自動化測試。設(shè)計思維有助于確保測試自動化腳本的設(shè)計方式,使其能夠最大限度地提高其可用性和有效性。
它可通過考慮自動化測試過程本身的方法,用于增強基于云的自動化測試。設(shè)計思維也可用于提出改進(jìn)測試用例、團隊結(jié)構(gòu)、資源分配和模塊優(yōu)先級的方法。
5.黑白盒測試的設(shè)計思維
由于測試人員的知識水平不同,設(shè)計思維原則在白盒自動化測試和黑盒自動化測試中的應(yīng)用也會不同。對于白盒測試,測試人員需要深入了解系統(tǒng)后再設(shè)計能夠執(zhí)行所有功能的測試。對于黑盒測試,測試人員只需要對系統(tǒng)有一個淺顯的了解,就可以設(shè)計出以最終用戶的角度來執(zhí)行功能的測試。
將設(shè)計思維應(yīng)用于全球廣域網(wǎng)(Web,World Wide Web,也稱萬維網(wǎng))和移動應(yīng)用程序的單元或集成測試,以確保測試的全面性。單元測試用于測試系統(tǒng)的各個組件,而集成測試用于測試組件之間的交互。這包括:
- 關(guān)注用戶體驗:測試人員在測試網(wǎng)站和移動應(yīng)用程序時應(yīng)始終牢記用戶體驗。這意味著要考慮諸如使用界面的難易程度、導(dǎo)航的直觀程度以及整體體驗是否令人愉快等因素。另一個必須考慮的關(guān)鍵數(shù)據(jù)點是特定用戶集最有可能使用的設(shè)備類型。為了使測試環(huán)境真實,我們必須確保我們在與用戶相似的設(shè)備和網(wǎng)絡(luò)上進(jìn)行測試。
- 簡單是關(guān)鍵:在測試方面,簡單往往更好。這一原則既可以應(yīng)用于測試本身的設(shè)計,也可以應(yīng)用于測試的執(zhí)行方式。在將新應(yīng)用程序添加到堆棧中并且這些應(yīng)用程序處于一直在更新新功能的環(huán)境中,很難保持簡單性。這里的關(guān)鍵是,如果您從一個簡單且足夠有影響力的計劃開始,那么您將能夠處理后期擴展的相關(guān)復(fù)雜性問題。
- 跳出框外思考:有時,問題的最佳解決方案并不是顯而易見的。設(shè)計師應(yīng)該對那些不會立即顯現(xiàn)的創(chuàng)造性解決方案持開放態(tài)度。瀏覽器堆棧不僅提供了廣泛的尖端工具堆棧,而且還為開發(fā)人員和技術(shù)領(lǐng)導(dǎo)提供資源和信息,以幫助他們建立更高級的測試策略。
- 迭代、迭代、迭代:測試是一個迭代過程,這意味著設(shè)計人員應(yīng)該期望在此過程中進(jìn)行升級和改進(jìn)。并且,云平臺的規(guī)模隨著使用規(guī)模,具有可伸縮的理念,為具有成本效益的探索提供了最有利的環(huán)境。對于自動化測試而言,能夠并行運行測試并通過可視化有效地監(jiān)控它們是一個額外的優(yōu)勢。
- 保持新技術(shù)學(xué)習(xí):新技術(shù)和方法不斷涌現(xiàn),因此設(shè)計師必須及時了解最新動態(tài)。實現(xiàn)這一目標(biāo)的方法是構(gòu)建一組工具,幫助設(shè)計團隊成員在網(wǎng)站或移動應(yīng)用程序上執(zhí)行各種測試、驗證或分析,而無需參與開發(fā)或質(zhì)量保證的過程。
將所有這些知識應(yīng)用到實際的系統(tǒng)中,是一個多變量問題??赡苡性S多方法會在結(jié)果上取得的成功程度不同。但在不同的業(yè)務(wù)場景中,成功的定義本就會有所不同。因此,保持開放的心態(tài)并緊跟最新趨勢是確保整個過程具有凝聚力的一種方式。
原文鏈接:
https://dzone.com/articles/design-thinking-in-software-testing
譯者介紹
劉雨瑤,51CTO社區(qū)編輯,驅(qū)動開發(fā)工程師。關(guān)注領(lǐng)域包括效果算法、集成電路設(shè)計、驅(qū)動等。