1. 程式人生 > >“測試人員”與“開發人員”的視角差異

“測試人員”與“開發人員”的視角差異

分享圖片 tex 復制 重要 shadow 喜歡 困難 質量 系統

測試人員和開發人員的目標是相同的,即向利益相關者提供高質量的產品。但他們的思維方式不同。

正確的說法是,“測試人員和開發人員沒有什麽不同,但他們遵循不同的途徑來實現相同的目標”。

開發人員認為:“我怎樣才能提出申請呢?”

測試人員認為:“我怎樣才能破解這個申請呢?”

測試人員和開發人員的行為就像貓和和老鼠。但最終的結果只有當他們一起工作時才是積極的。
技術分享圖片

說“如何破壞應用程序”並不意味著測試人員的座右銘是破壞開發人員所做的工作。這意味著測試人員開箱即用的思維並通過設身處地為顧客著想,在應用程序上應用所有可能的方案。這樣做是為了使應用程序在活動環境中不會中斷。

對於任何軟件應用程序的開發,軟件開發生命周期(SDLC)都扮演著重要的角色。之前,軟件測試是在開發的最後階段進行的。但是,在最後階段修復錯誤/錯誤證明是非常困難和昂貴的。

因此,為了避免這種復雜性,現在,軟件測試是SDLC每個階段的一部分。這意味著測試從開發的第一階段開始。

SDLC

“測試人員”從不同的創造性角度來看待應用程序,如果最終用戶的需求得到了明確的理解,那麽它就會產生很大的不同。

讓我們在SDLC的不同階段查看並簡要了解測試人員的觀點:
1)需求收集和分析:

在此階段,根據涉眾的要求,並通過積累應用程序的適當需求,編寫需求文檔。

需求文檔將與測試團隊共享,以便他們對建議的需求有自己的看法,並以“ReviewComments”的形式發送他們的查詢。查詢可以是任何內容,無論是對任何特定部分的理解,還是對未來可能出現的錯誤的預測。

讓我們把常見的例子:最終用戶的要求是“輸入字段不允許特殊字符”。

開發人員的作用:顯然,通過檢查用戶輸入任何特殊字符時,會拋出錯誤或顯示正確的錯誤消息,編寫用於插入輸入字段的代碼。

測試人員的觀點:測試人員將首先檢查所述的需求,但隨後他將考慮多個場景。他會有這樣的問題:

如果輸入框中只包含特殊字符,怎麽辦?它會向用戶顯示相同或不同的消息嗎?
如果用戶將特殊字符和字母數字字符的任何組合復制並粘貼到輸入框中怎麽辦?
還有許多其他類似的場景,測試人員在檢查時會考慮到這些場景。需求文件.

對於評估任何產品或應用程序,測試意味著對產品進行質疑,以涵蓋幾乎所有的場景,因為最終用戶可以是任何人,並且可以他們想要的任何方式使用應用程序。

2)系統/應用程序設計:

在收集數據和最終確定需求之後,開發商開始在應用程序上進行設計。這包括在開發人員實現之前對設計文檔進行審查。

測試員通過他們的理解和創造性思考,分析所有新特性、增強、集成、UI更新,以及需求中提到的所有可能的場景。它們創建測試用例、健全檢查列表和數據,以便當應用程序進行測試時,它們已經準備好了它們的測試參數。

#3)執行階段:

在這個階段,開發人員實際上實現了最終的系統設計。

當我們從開發者視角,它們的重點是構建功能,這是所需的。在他們看來,功能將完美而高效地工作。

但當我們看到測試者視角,它與開發人員的正好相反。當開發人員專註於實現該功能時,測試人員應用他們所有的創造力來測試該功能。還有一種情況是,開發人員誤解了需求,在這種情況下,當測試人員應用他們的場景時,應用程序就會失敗。

#4)系統測試:

在此階段,開發人員將應用程序上載到分期/質量保證環境(可供測試人員測試的環境)具有由開發人員在特定sprint/版本中實現的一組已定義的功能。

開發商上傳應用程序的概念是,實現的功能按照指定的需求完美地開發;他們只是將應用程序提供給測試人員重新驗證。

但對於測試人員除了所需的功能之外,最終用戶還可以考慮使用特定應用程序的其他許多不同的方式。測試人員的任務是運用他們的創造性思維和探索每一個可能的場景。

#5)維護階段:

這個階段是檢查測試人員和開發人員的共同努力。

所有實現之後的最終應用程序被發送給用戶使用它。如果它按預期工作,那麽就沒有問題了。但是,如果有任何偏差,它再次需要測試人員和開發人員在維護階段的共同努力。

測試人員和開發人員共同組成一個有效的團隊。因為確保最好的產品是雙方的責任。如果兩者都與正確的理解和積極的反饋一起工作,這是實現的。

讓我們看看定義測試人員和開發人員角色的一些重要要點:
雖然開發人員應該確保他們開發的內容中沒有bug,但是測試人員應該確保如果存在bug,就應該報告這些錯誤,並在正確的時間進行修復。
開發人員應該以積極和建設性的方式接受測試人員的反饋。
必須說,開發人員是某一特定技術領域的“專家”,他們可以根據需求使用他們的所有技術技能來開發項目。測試人員是第三方(假設是應用程序的虛擬用戶),他們以有效的方式報告錯誤或錯誤,從而確定應用程序的質量並確定需要改進的地方。

作為一名測試員工作:
當然,有許多優秀的開發人員能夠很好地測試。重要的一點是,作為一個人,我們不能單獨測試我們的東西/應用程序,我們確實需要第二個人的意見和反饋。

“測試者”是不受開發的應用程序影響的人,他根據在所有可能的情況下使用應用程序的實際經驗作出自己的判斷。

好的測試器知道用戶在學習和使用新產品時會犯很多錯誤。實時用戶喜歡通過嘗試和查看所發生的事情來學習使用新產品,而不是閱讀手冊。

所以測試器的主要焦點是“什麽會出錯”。。開發人員的主要重點是根據需求交付項目。

一個好的測試者和一個好的開發人員:
好的測試器是一個能適應沖突的人。很多次它變得非常很難找出錯誤的來源也就是說,它可能是編碼錯誤、文檔錯誤、設計錯誤,甚至可能不是bug。但是測試人員的職責是報告每一個錯誤。

好的開發人員是以積極和建設性的方式接受反饋,診斷問題並對其進行調試的人。但是開發人員經常避免沖突,這會造成障礙。

結論:
因此,我在結束我的文章時說,理解差異對於富有成效的團隊至關重要,但不同的方法有助於找到解決方案,並導致交付最佳工作的產品。

每個人都在做自己的工作。開發人員在那裏開發應用程序。測試人員在那裏測試應用程序。

“測試人員”與“開發人員”的視角差異