設計思維是一種強大的范式,軟件測試人員和 QA 專業人員可以使用它來創建更多以用戶為中心的軟件。
據Adobe稱,當設計以最高優先級和高質量的方式實施時,以設計為主導的公司報告的忠誠客戶增加了 50%,市場份額增加了 41%。它在幫助指導產品開發以及通過提供差異化體驗與客戶建立聯系方面發揮著多層次的作用。
設計思維原則
設計思維背后的基本原則是同理心、構思和原型設計。同理心是關于理解用戶的需求和觀點。構思是關于產生新的和創新的想法。原型設計是關于創建產品原型并與實際用戶一起測試以獲取反饋。
設計思維涉及的五個步驟是:
1. 移情:了解用戶的需求和觀點。
2.定義:定義需要解決的問題。
3. 構思:產生新的和創新的想法。
4.原型:創建產品的原型。
5. 測試:與實際用戶一起測試產品以獲得反饋。
這些步驟可以應用于任何主題,以便更深入地了解它。設計思維是一種以人為本的方法,它將最終用戶的需求置于任何產品開發的中心。這種方法允許企業通過創建對客戶方便且易于使用的產品來實現其目標。
此外,設計思維可用于在初始階段測試未來產品及其功能的可行性。這種方法為軟件開發帶來了可行性檢查、無警報、無意外、清晰和透明等好處。
應用于軟件測試的設計思維
為了提高軟件產品的質量,在軟件應用測試領域應用設計思維的原則是有余地的。設計思維有助于為測試軟件產品產生新的和創新的想法。
設計思維的每個原則都可以應用于軟件應用程序測試,以創建更多以用戶為中心的軟件:
- 移情:為了設計以用戶為中心的軟件,首先要了解最終用戶的需求和痛點。這可以通過訪談、調查和焦點小組的用戶研究來完成。此外,質量工程師可以通過分析觀察最終用戶,以更好地了解他們如何與應用程序交互。
- 定義:一旦了解了最終用戶的需求,下一步就是定義軟件需要解決的問題。這將有助于指導軟件的開發并確保它專注于正確的事情。這涉及業務分析、用戶體驗設計和快速原型設計。從測試的角度來看,定義具有正確動機的測試用例是確保測試策略整體有效的一個非常關鍵的部分。
- 構思:一旦定義了問題,下一步就是提出潛在的解決方案。這可以通過與團隊的頭腦風暴會議來完成。重要的是要提出盡可能多的想法,而不是在這個階段對它們進行評判。對于測試人員,它將包括在 BA、設計和技術領導層之間共享上一步中設計的測試計劃列表,并確保所有利益相關者都在同一頁面上。這還可能涉及決定各種其他因素,例如自動化程度、回歸類型、最佳報告結構等。
- 原型:下一步是利用已經產生的想法并創建原型。這些原型可用于測試想法的可行性并獲得用戶的反饋。這可能包括為一些關鍵流程實施測試計劃,以便更好地了解測試過程本身。在所有階段實施自動化測試,包括使用最新工具、云平臺和基于 AI/ML 的工具進行單元、集成、系統和驗收測試。
- 測試:最后一步是在生產環境和實際用戶中測試軟件。這將有助于確保軟件滿足他們的需求并且對用戶友好。在所有步驟中生成適當的報告和溝通,并確保在發生故障時采取正確的行動。
盡管無法替代真實的用戶接受度,但實施具有適當設計思維的測試策略將有助于減少測試工作流程中的任何低影響和非必要活動。
設計思維與敏捷和瀑布式開發
設計思維和敏捷開發之間有一些關鍵的區別。設計思維專注于從用戶的角度解決問題,而敏捷開發專注于快速有效地交付功能。設計思維也強調協作和迭代,而敏捷開發則強調個人責任和義務。
在敏捷開發下使用 DevOps 的軟件測試團隊沒有理由不嘗試在他們的測試策略中實施設計思維原則。事實上,這樣做可能是有益的,以便更好地理解用戶的觀點并找到更快、更有效地交付功能的方法。
設計思維可以對敏捷和瀑布式開發模式中的軟件開發和測試團隊產生深遠的影響。在敏捷開發中,設計思維幫助團隊專注于用戶體驗和客戶旅程,而在瀑布開發中,它幫助團隊優化需求收集和文檔部分。
該團隊將開發出更好的能力來識別用戶需求并相應地開發軟件。團隊還可以盡早并經常測試軟件,以確保軟件滿足用戶的需求。
手動和自動測試的設計思維
在具有傳統團隊結構的技術初創公司中,流程分為業務分析、用戶體驗設計、軟件開發和質量保證,總體范式可以是敏捷的,也可以是瀑布式的。自動化在測試社區中越來越受歡迎是一種不斷加速的現象,預計未來幾年自動化的總百分比將飆升,尤其是由于基于云的工具的出現,這使得團隊變得超級容易在各個層面實施和協作自動化測試。
在手動測試場景中,設計思維可用于開發適合項目特定需求的測試策略。例如,如果目標是提高網站的可用性,團隊可能會使用設計思維來提出如何與真實用戶一起測試網站的想法。這可能涉及創建用戶配置文件、識別用戶任務和創建測試場景。一旦團隊制定了計劃,他們就可以執行測試并分析結果,以查看網站是否滿足用戶的需求。
設計思維可以通過幫助創建更加以用戶為中心的方法來設計和開發測試自動化腳本,從而增強基于云的自動化測試。設計思維有助于確保測試自動化腳本的設計方式能夠最大限度地提高其有用性和有效性。
它可用于通過考慮自動化測試過程本身的方法來增強基于云的自動化測試。設計思維可用于提出改進測試用例設計、團隊結構、資源分配和模塊優先級的方法。
黑白盒測試的設計思維
由于測試人員的知識水平不同,設計思維原則在白盒和黑盒自動化測試中的應用不同。對于白盒測試,測試人員需要深入了解系統來設計能夠執行所有功能的測試。對于黑盒測試,測試人員只需要對系統有一個膚淺的了解,就可以設計出從最終用戶的角度來執行功能的測試。
將設計思維應用于 Web 和移動應用程序的單元和集成測試,以確保測試的全面性。單元測試用于測試系統的各個組件,而集成測試用于測試組件之間的交互。這包括:
- 關注用戶體驗:測試人員在測試網站和移動應用程序時應始終牢記用戶體驗。這意味著要考慮諸如使用界面的難易程度、導航的直觀程度以及整體體驗是否令人愉快等因素。另一個必須考慮的關鍵數據點是特定用戶集最有可能使用的設備類型。為了使測試環境真實,我們必須確保我們在與用戶相似的設備和網絡上進行測試。
- 簡單是關鍵:在測試方面,簡單往往更好。這一原則既可以應用于測試本身的設計,也可以應用于測試的執行方式。在將新應用程序添加到堆棧中并且這些應用程序一直在更新新功能的環境中,很難保持簡單性。這里的關鍵是,如果您從一個簡單且足夠有影響力的計劃開始,那么您將能夠處理后期擴展相關問題的復雜性。
- 跳出框框思考:有時,問題的最佳解決方案并不是顯而易見的。設計師應該對可能不會立即顯現的創造性解決方案持開放態度。瀏覽器堆棧不僅提供了廣泛的尖端工具堆棧,而且還為開發人員和技術領導提供資源和信息,以幫助他們建立更高級的測試策略。
- 迭代、迭代、迭代:測試是一個迭代過程,這意味著設計人員應該期望在此過程中進行更改和改進。再一次,云平臺以其規模隨您使用的理念,為具有成本效益的探索提供了最有利的環境。對于自動化測試而言,能夠并行運行測試并通過可視化有效地監控它們是一個額外的優勢。
- 永遠在學習:新技術和方法不斷涌現,因此設計師必須及時了解最新進展。實現這一方向的一種方法是構建一組工具,幫助設計團隊成員在網站或移動應用程序上執行各種測試、驗證或分析,而無需參與開發或 QA 過程。
將所有這些知識應用到實際系統中是一個多變量問題??赡苡性S多方法在其結果上取得不同程度的成功。在不同的業務場景中,成功結果的定義可能會有所不同。因此,保持開放的心態并緊跟最新趨勢是確保整個過程具有某種凝聚力的一種方式。