如何執行軟件產品測試-詳細方法和過程
以下是軟件產品開發團隊面臨的一些挑戰:
#1) 缺乏對用戶人口、設備、環境、平臺等的控制。:軟件產品不像為特定涉眾構建的軟件,在受控和可預測的情況下不使用。有許多因素需要考慮。
#2)霧氣產品視覺:產品的行為和特性永遠在變化,走向成熟的過程並不是顯而易見的。或者,產品增長太快,以至於團隊不知道發生了什麽,就會失控。
#3)侵略性時間表:由於軟件產品市場的激烈競爭,事情必須以驚人的速度發展,團隊必須領先同行一步。否則,他們肯定會輸給競爭對手。
#4)對失敗的恐懼軟件產品通常是創新的。因此,他們的成功並不總是一成不變的。這就是公司不能在預算、技術、基礎設施等方面全力以赴的原因。他們往往不得不保持克制,以獲得一定程度的免疫力,免於失敗,或達到收支平衡。
#5)缺乏可采取行動的反饋:由於沒有涉眾、業務用戶或客戶,所以很難理解最終用戶可能或不喜歡什麽。公司經常玩猜謎遊戲,常常很難彌合他們想要的軟件和客戶想要的東西之間的差距。
這些挑戰影響到產品開發、營銷和生計的所有領域-它們也內在地影響了產品測試。
要想在遊戲中領先,這類測試必須考慮到五個關鍵點:
開發和發布的速度
產品的短期和長期目標
競爭的程度和性質
目標受眾及其環境
規定-功能、性能、安全性、可用性、配置等。
在我們深入了解更多細節之前,讓我們了解一下產品生命周期(這是一個通用的產品生命周期,不特定於軟件產品,但軟件遵循類似的模式):
一個好的產品測試策略/方法應該考慮到產品生命周期的當前階段。
也讀為=>如何編寫一個好的測試策略文檔
例子:XYZ公司的產品是一款名為“TrackFast”的缺陷跟蹤軟件。這是一個新的產品,第一個版本將作為一個雲和前提解決方案推出。TrackFast與任何其他缺陷管理系統一樣工作,是為Mobile和WebAccess構建的。目前,有2到4周的沖刺,產品是在部分創建。您是測試團隊的‘跟蹤快速’之前,它會遇到它的客戶。測試包括檢查功能、性能和安全性。
總之,這些是您正在使用的參數。或者如果你願意的話,這就是你的背景
讓我們看看如何在每個階段進行測試。這才是。產品試驗每個階段的過程、方法或生命周期。
第一階段)產品介紹
由於這是TrackFast第一次上市,所以這個想法是給人一個好的第一印象。所以千方百計。從各個角度測試一切。此外,還為今後的測試奠定了基礎。
在這一點上,一個好的測試策略應該包括以下幾點:
驗證TrackFast短期目標的測試。“需要正確交付什麽”應該是測試工作的前沿。創造端到端測試(前端、中間件和後端)對每個特性進行徹底測試
將TrackFAST與競爭對手進行比較的測試(理想情況下,這是產品所有者的工作,但作為測試人員,我們可以增加2美分。另外,如果軟件已經有了一些對等程序,那麽這個步驟就更容易了。例如: 很容易將TrackFast與Bugzilla或JIRA或其他遺留系統。但是,讓我們假設我正在創建一個應用程序,它做一些不尋常的事情,比如能夠預測嬰兒什麽時候餓了或者脾氣暴躁:),可能很難找到一個應用程序,您可以使用它作為基線)。
平臺、瀏覽器和設備兼容性試驗
安裝方便性試驗.class=‘class 1’>設置和提高速度.
性能、安全性和可用性測試
整合測試如果它與其他系統接口。一個簡單的集成示例是缺陷跟蹤系統經常與電子郵件客戶端交互發送通知。
回歸計劃-標記或標記關鍵測試是一個好主意,您認為這些測試將是未來回歸周期的一部分,並考慮在將來的版本中自動化這些測試。
對已知問題的計劃(您是要將它們添加到待辦事項中,還是以CRS的形式處理它們,等等)。
當產品進入下一個生命周期階段時進行更改的靈活性。
有時,在產品出貨之前,可能要等很長時間,所以要盡可能徹底地使用所有的時間。
在這個階段,雖然在2-4周的sprint結束時已經準備好了產品的一部分,但大多數情況下,每個sprint都不會導致交付的代碼。因此,永遠不要考慮最後一次沖刺測試“完成並交付”。對每個sprint重復關鍵測試,直到發布。使用每個sprint,測試您所擁有的整個產品,直到這一點。
第二階段)產品增長
在最初的項目介紹之後,如果一切順利的話,預計會有大量的活動湧入,因為產品增長是一個快節奏的通道。你現在和大鯊魚一起遊泳,除非你跟上,否則你會被吃掉。
在這裏,版本變得更短,軟件的改進變得越來越多,回歸的程度幾乎變得難以管理。
產品測試策略應與軟件開發的進度同步,而不應成為瓶頸。
這些可以幫助:
記住項目的長遠目標.不是現在就結束。它是關於與他們生活在一起,並與他們一起欣欣向榮。
盡早測試-考慮TDD或BDD而不是用新的需求將測試推遲到最後。
自動回歸並加強它–創建一個自動回歸套件,這樣您就不會在系統中留下未經測試的地雷。
如果您的業務/產品所有者希望參與測試,請考慮基於業務語言的自動化工具,如Cucumber。
保持可用性和站點設計是你測試的核心。因為我們添加的功能越多,站點就應該越幹凈。
執行性能和安全測試時,一個主要的版本已經發生,或有重大變化的架構。(新服務器等)大多數軟件系統並不需要在每次發布時都這樣做。
與競爭對手保持聯系,了解產品遠景。
自適應對測試,以便立即反饋和修復。在可能的情況下包括產品所有者
改變計劃和已知問題
試著掌握客戶的反饋,並檢查它們是否可以被跟蹤,作為保持增長不變的增強建議。(再說一次,這不是QA團隊的首要責任,但每個人都很重要。)
第三階段)產品成熟度
恭喜你的產品走到了這一步。在這一點上,功能並沒有經常改變。產品團隊將更加專註於帶來更多的業務或他們的營銷工作。然而,產品開發和測試不需要也經常不會停止。
因此,測試小組可以:
努力使你的測試策略成熟。至此,您的回歸套件、測試設計方法和測試管理實踐必須像潤滑良好的機器一樣工作。
把註意力集中在更精細的細節上。因為整體而言,產品運作良好,但正如他們所說的上帝在細節裏-即使是最小的問題,也能提高系統的質量
考慮客戶反饋
定期測試性能和安全性
考慮到新的設備、平臺和瀏覽器,它們可能已經從上次測試時進入市場。
測試用戶手冊和常見問題頁面,因為現在你有時間,你可以負擔得起。
嘗試一個新的產品測試工具,服務或流程,因為現在你可以。
用每個版本測試安裝過程,不管這個版本多麽小,並獲得關於對最終用戶來說它有多容易或有多難的統計信息。
不管你做什麽,都不要自滿。
第四階段:產品下降/轉回產品增長
如今,產品所有者和企業都很聰明,他們非常清楚,他們不能保持他們的產品不變,並期望用戶保持忠誠。事情發展得太快了,產品也是如此。
所以TrackFast不能坐下來放松。如果它需要有一個持續的市場存在,並保持領先地位,它需要發展。不管你喜歡還是討厭它,Facebook最初是一個簡單的社交網絡,用來連接人們,它本身就是一個大型軟件平臺,它集成了無數其他東西,並保持了潮流。
軌道也必須進化。在證明它是一種可靠有效的缺陷跟蹤系統後,它必須進化,否則就會衰落。因此,XYZ公司決定改進TrackFast,使其成為一個通用的票務系統,用於跟蹤IT/測試團隊以外的任何事件或案例(類似JIRA),而不僅僅是因為軟件開發過程中的缺陷。
車輪已經做了一個充分的轉折,你發現自己把系統作為一個全新的,並遵循我們在產品介紹部分討論的策略。直到現在,你才有了更多的經驗和熟悉的訓練。但請記住,每一次新的轉折都會帶來新的挑戰。所以保持鋒利:)
是什麽使你成為成功的產品測試人員?
產品測試員必須有敏銳的商業頭腦,了解快速交付開發模型,並且應該是一流的測試人員。他們不怕用工具做實驗,如果需要的話,他們自己也會成為一名程序員。這些東西可以對任何類型的測試產生積極的影響,但在這類測試中它們是絕對必要的。
另一個重要的特點是產品測試人員必須相信產品真心希望它成功。當我作為一個測試人員認為這個軟件完全是垃圾時,我幾乎沒有希望做任何事情來使它變得更好。
分享產品/企業主的願景。除非你知道產品的發展方向和發展方向,否則測試將是非常有限的。
跨功能技能是有益的。-知道如何測試DB、如何獲取性能基準、如何啟用安全證書、如何部署等等。好奇,探索.
不設界限-不要認為評估用戶手冊或檢查常見問題不是你的工作,技術撰稿人應該處理它。他們應該而且他們會的。但是,當你把它看作一個知情人,把它看作是一個對產品了如指掌的人,你的反饋是非常有用的。
尋求最終用戶反饋。下一大群在你之後測試的人是實時用戶。了解並理解他們所面臨的問題。這有助於您改進測試設計,因此下次您知道如何避免這些問題時。
快速工作,做一個決策者
避免技術債務。在快速開發和測試的情況下,很容易只進行探索性的測試,為以後的版本提供參考框架。別讓這種事發生。維護骨骼文檔,以便跟蹤、跟蹤和測量
作為服務構建的測試軟件與作為產品構建的軟件之間最大的區別是-在前者中,一旦確定了測試策略,就會將其應用於所有後續測試。
然而,對於一個產品,測試策略必須根據產品目前的生命周期階段和市場動態變化(新設備、新瀏覽器等)而改變。產品測試策略需要有更大的靈活性來改變。
如何執行軟件產品測試-詳細方法和過程