軟件開發(fā)公司為什么QA是困難的
2018-08-08 10:47 點(diǎn)擊:
測試可以是令人沮喪的,保羅史密斯最近寫了一篇文章,軟件開發(fā)非常困難,經(jīng)常在期限和bug問題。他提出了一些很好的點(diǎn),能很好地審視了北京軟件開發(fā)公司的開發(fā)人員和測試人員的軟件開發(fā)過程。


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