軟件開發公司為什么QA是困難的
2018-08-08 10:47 點擊:
這是保羅的七分的概述,隨著我的思想如何與測試特別是:
1。軟件產業是年輕的
人類建造的房子,千百年來的道路和橋梁。我們不知道有多少房子或橋梁倒塌在早期人類學會了正確的技術來構建這些結構。…
相比較而言,軟件行業只有50歲。我們還有很長的路要走之前,我們的經驗,建筑和制造業。
是的,這個行業還是比較新的,我們仍在努力解決一切。但是,不同于建筑物的物理結構,軟件不斷變化的權利在我們的鼻子底下。一旦一個錯誤是能夠被解決,另一個彈出–有時由于固定初始缺陷。加上不斷開發新技術–硬件,操作系統,附加–增添了新的挑戰,測試人員仍在試圖克服先前已知的挑戰。地球保持大多是相同的無論何時何地當你建立一個橋梁,軟件沒有。
2。每一行代碼都是一個潛在的故障點
每行代碼都有幾十個,甚至上千,可能的輸入,輸出,狀態或依賴關系的處理。它可以影響,或者影響到其他的代碼,或由外部因素。即使有可能文件一行還不能確定有沒有一些未知因素,可能導致錯誤的代碼,每一個測試案例。
測試一行代碼只是挑戰的一部分。對自己不存在的代碼行。這是其中的一部分,整個系統和整個需要測試以確保所有零件的應用功能正確。…
這一個很一針見血。沒有無限的時間和資源,沒有辦法測試新軟件100%。即使有無限的時間和資源,事實上,很多項目都是全新的手段可能有隱藏的錯誤,測試人員不想找。事實上,開發和測試團隊通常不在一起工作只會加劇代碼挑戰–雖然我們開始看到一個轉變,從這一分實踐。
3。缺乏用戶支持
沒有參與和代表用戶輸入的項目是注定要失敗的。這個人應該是一個學科領域的專家和權威的決策和承諾項目時間表。
作為一個可用性測試,有多少次你在看一個新的應用,很奇怪,怎么開發商認為這是個好主意嗎?然后,當你登錄的bug,唯一的反應,你得到的是“按設計工作。“有時候,開發商可以如此的頭,在他們的項目中,他們沒有意識到軟件不是用戶友好。這也可以為測試人員是一個問題。如果測試人員一直工作在一個特定的項目從一開始,他們可以無視事實,它不是直覺。因為他們已經知道軟件應該工作似乎容易使用他們。
4。用戶不知道他們想要什么,直到他們看到它
即使有很好的輸入從用戶沒有用戶需求分析可以帶走的一個不可改變的事實,用戶只認為他們知道他們想要什么。事實上,直到他們開始看到的東西,并使用它,他們開始真正了解他們需要什么。這是尤其如此,當軟件正在開發一個新的想法或方法,他們沒有使用過。
保羅看起來在這一點上,從發展的角度來看,注意的是需求變化是常見但大大影響開發項目的截止日期。從測試的角度看它說的事實,在實驗室測試不一定符合用戶的人口統計數據,所以他們只能猜測用戶將如何應對軟件。在野外測試使用專業的測試人員,模仿你的目標人群是一種方法來解決這個問題。
5。沒有進入壁壘,成為一個程序員
有一種說法,認為軟件開發是很難因為編程是很容易的。換句話說,它是比較容易學習如何編寫代碼,但提供杰出的軟件之間存在著巨大的差距。…
無障礙進入編程世界,充斥著許多貧窮的人影響程序員的項目。此外,甚至有可能好的年輕開發者仍然會犯錯誤,有經驗的開發者要學會避免。
開關“程序員”和“儀”,這句話是真的。雖然有測試認證程序了,他們沒有必要像一些培訓計劃(認為醫生或律師)。
6。所有的軟件都是受到外部因素的影響
軟件是“件”,因此不符合物理規律,但它通常必須符合外部硬約束等,與其他軟件,整合政府規定,傳統的數據格式,可擴展性等性能指標,
理解所有這些外部因素,飲食是一個幾乎不可能的任務。即使是一個看似簡單的要求,如支持多種瀏覽器,成倍增加的軟件開發和測試的難度。如果你再加入需要支持多個版本的瀏覽器然后你又成倍增加的復雜性和難度。
這是測試矩陣的挑戰。測試人員必須將開發人員的工作,對各種硬件/軟件組合測試,加上如載體真實世界的因素,網絡連接和突發尖峰負荷。
7。估計是一種藝術而不是科學
當然,經驗會引導你在你的估算和更多的經驗,你就越有可能預見的未知。太多的項目運行在因為過于樂觀的估計是由缺乏經驗的人,希望一切都順利流動和誰不留余地的未知數。
測試人員獲得這個特別沮喪,因為它通常不是QA部門設置。另外,如果開發運行在期限通常不擴展。相反,測試預計將在較短的時間內完成。這些做法給軟件外包公司的測試人員帶來的壓力。