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