人們對軟件測試有一些誤解,需要解決這些誤解才能對軟件測試過程有一個清晰的理解。
誤解1:測試是一項耗費時間的工作
事實:當我們經曆所有的SDLC階段時,測試從來不是一項耗時的工作,但當我們開始修複錯誤和刪除bug時,它會花費很多時間。修正錯誤可能是一項耗時的工作,但卻是一項富有成效的活動。測試是如此耗時,這是一個神話,但在現實中,刪除錯誤和修複bug實際上是耗時的,但也是富有成效的。測試應該在開發軟件或應用程序時並行進行,這樣做會得到更好的結果並提高生產力。
誤解2:測試太難了
事實:軟件測試並不像遊戲那樣簡單,但它並沒有看起來那麼難。要善於測試,就必須經曆應用軟件的所有工作。因為如果我們完全了解軟件的用途以及軟件的工作是什麼,隻有這樣我們才能測試應用程序是否提供了所需的輸出。因此,對於那些不花時間了解軟件工作的完整知識的人來說,測試可能很難。此外,為了測試產品,我們必須知道用於測試軟件的技術。
誤解3:測試是昂貴的
現實:對於一些組織或一些人來說,測試似乎是昂貴的,但事實上,如果軟件沒有正確地測試,並且在部署後或軟件交付之前遇到任何錯誤,那麼對於組織或軟件開發團隊來說,回顧所有程序以修複錯誤可能是昂貴的,而且可能需要很多時間。因此,測試也節省了金錢和人力。也可以這樣說,如果我們在測試上花費較少,那麼我們就必須在維護和漏洞刪除過程上花費更多。早期測試對於節省金錢和時間非常有益。此外,如果我們降低產品的成本,不做任何測試,那麼它可能會導致我們的軟件應用程序出現糟糕的設計或不正確的結果。因此,為了節省成本,應該盡早開始測試。
誤解4:軟件在測試後就沒有bug了
事實:這完全是一個神話,因為一個軟件不可能在做了所有的測試之後沒有錯誤,即使是多次。這是因為有些錯誤在測試時沒有發現,有些錯誤隻有在用戶使用應用程序並增加應用程序的負載時才會遇到,隻有在這時才會遇到一些錯誤或bug。因此,測試並不能保證軟件完全沒有錯誤。我們在日常生活中也可以看到,我們使用的應用程序都是由大型IT公司開發的,這些應用程序中仍然存在一些錯誤,因此,一個軟件在測試後不可能100%無錯誤。擁有最佳測試技能的測試人員也承認,軟件在測試後不可能100%無bug,因為實際的結果將在應用程序部署之後出現。
誤解5:測試很簡單
事實:我們剛剛討論了測試並不難,但這並不意味著測試很容易。測試需要在獲得關於軟件應用程序工作的完整信息後進行。有些人認為開發完成後我們會像用戶使用應用程序一樣使用應用程序,可以這樣測試應用程序軟件。但是用這種方法來測試軟件是不可能的,我們應該知道測試應用程序的輸出和輸入是什麼。測試人員遍曆應用程序所包含的概念,並創建用於測試軟件的示例測試用例。因此,測試軟件並不是一件容易的工作。
誤解6:測試人員要對部署後發現的任何錯誤負責
現實:許多人指責,測試人員要對應用程序部署後發現的任何錯誤負責,但這不是一份好工作,因為不可能從應用程序中刪除所有的錯誤,或者不能保證測試後應用程序100%沒有錯誤。在部署應用程序之後,總是有可能發現或遇到錯誤。測試人員不應該因為應用程序中的錯誤而受到指責,因為測試人員必須測試應用程序中的錯誤,並且他必須向涉眾報告所有的錯誤,然後決定是否應該刪除錯誤。因此,隻有測試人員不需要為應用程序部署後遇到的任何錯誤負責。
誤解7:測試人員隻需要在應用程序中找到bug
事實:測試人員的工作隻是測試應用程序並報告發現的任何錯誤,這是不正確的。相反,他還必須從軟件中刪除錯誤。開發人員隻需要開發應用程序,而測試人員則需要了解軟件的整體工作,例如軟件的一個模塊對另一個模塊的影響以及模塊之間的依賴關係等等。因此,測試是一項艱巨的任務。
誤區8:測試隻能在應用程序開發完成後進行
事實:為了測試應用程序,它不應該被完全開發。因為這可能會導致更昂貴的開發。測試應該從開發的第一階段(即需求收集和分析階段)開始。早期的測試會在這個階段給出錯誤,這樣就可以很容易地消除這些錯誤,因為開發過程還處於第一階段。如果我們開始測試的時間有點晚,那麼它可能會產生一些很難消除的錯誤,因為軟件的複雜性在開發的每個後續階段都會增加。對於一個好的軟件開發,建議在早期階段就開始測試。