請從軟件質(zhì)量與軟件測試之間的關(guān)系出發(fā),談?wù)劄槭裁匆_展軟件測試?
1、發(fā)現(xiàn)被測對象與用戶需求之間的差異,即缺陷。2、通過測試活動發(fā)現(xiàn)并解決缺陷,增加人們對軟件質(zhì)量的信心。
3、通過測試活動了解被測對象的質(zhì)量狀況,為決策提供數(shù)據(jù)依據(jù)。
4、通過測試活動積累經(jīng)驗(yàn),預(yù)防缺陷出現(xiàn),降低產(chǎn)品失敗風(fēng)險。
通過軟件測試可以發(fā)現(xiàn)軟件中存在的缺陷,包括功能缺陷和非功能缺陷,當(dāng)測試發(fā)現(xiàn)很少或者沒有發(fā)現(xiàn)缺陷的時候,開發(fā)者和用戶就會對軟件的質(zhì)量充滿信心。一個設(shè)計正確,合理的測試完成并順利通過,可以降低軟件系統(tǒng)存在問題的風(fēng)險。而對測試過程中發(fā)現(xiàn)的缺陷進(jìn)行修正,則可使軟件系統(tǒng)的質(zhì)量提高。所以說,軟件測試是提高軟件質(zhì)量的一個重要手段
有軟件測試相關(guān)問題,歡迎私信戳我哦~~
軟件測試與質(zhì)量保證的區(qū)別與聯(lián)系
“軟件測試”從廣義上講是“利用測試工具按照測試方案和流程對新產(chǎn)品進(jìn)行功能和性能測試”,其本質(zhì)即設(shè)計開發(fā)階段對產(chǎn)品實(shí)施的“設(shè)計驗(yàn)證”和“設(shè)計確認(rèn)”。明確了“軟件測試”的本質(zhì)就可以比較清晰的知道其與質(zhì)量保證的關(guān)聯(lián)了。就你的問題回復(fù)。
區(qū)別:通過上面的分析,可以知道并不是一類,無從談起區(qū)別。
聯(lián)系:“質(zhì)量”簡單講就是“滿足顧客要求的能力”,“質(zhì)量好”即滿足顧客要求的能力強(qiáng),“質(zhì)量保證”可以理解為穩(wěn)定這種能力并不斷提高能力。加上從ISO的角度看的話,講可以知道“軟件測試”其實(shí)屬于“質(zhì)量保證”的一種方式。
如何看待軟件測試在保證軟件產(chǎn)品質(zhì)量中所起的作用
我是做軟件測試工作的,仁者見仁智者見智,水平有限,就你提出的問題作一個簡單的回答吧,一是期望對你的問題有所幫助,二也是對我自己的提高。1、我對你的*個問題表示質(zhì)疑,你認(rèn)為測試是保證軟件質(zhì)量嗎?能保證嗎?
測試只能提高軟件質(zhì)量,做不到保證,bug是永遠(yuǎn)存在的,測試工作可以讓這
量減少、降低嚴(yán)重問題的存在;軟件過程才可能保證它的質(zhì)量,不是軟件測
試,所以這一點(diǎn)我要明確出來。一個軟件的質(zhì)量好壞不依賴于測試者,測試
再高明,軟件設(shè)計本身的水平面要品質(zhì)不高,巧婦也有無米之炊的無奈。
2、測試的原本目標(biāo)就是發(fā)現(xiàn)缺陷,挑毛病,工作性質(zhì)和開發(fā)人員相反,但目標(biāo)
是一致的,都是為了使軟件更完美、更穩(wěn)定。
3、蓋房子的時候,先打地基,地基如果有毛?。ㄈ绮粔蛏睢⒉黄剑?,那以后房
蓋起來了住個幾年,你會發(fā)現(xiàn)樓上的梁會發(fā)裂,滲水,然后越來越讓人擔(dān)
憂。這時你要修復(fù)怎么辦,再怎么補(bǔ)都不放心,因?yàn)榈鼗腥毕莅?!這個道
和第三個問題是一模一樣的,修復(fù)的代價太大太大了!在測試中有一個規(guī)
則,問題越早解決代價越小,單元測試發(fā)現(xiàn)的問題解決只要1塊錢,等到集成
測試再解決,要10塊錢,你認(rèn)為比例有多大?需求分析系統(tǒng)設(shè)計是源頭,重
中之重,這個比例我認(rèn)為要在上面我舉例中增加80%,就是說它會導(dǎo)致你在編
碼階段多付出8塊錢。前期可能不覺得,越到后期將發(fā)現(xiàn)非常頭痛,這也是我
的經(jīng)驗(yàn)之談,沒有太多的科學(xué)性哦。
4、對于測試員,首先是效率減低;對于項(xiàng)目而言,成本增加了。瞧病就錯了
診,影響大么?將導(dǎo)致后面的百分之八十的事情白做了,百分之二在長遠(yuǎn)
目標(biāo)中有后期幫助,同時證明另外百分之八十步入歧途。這就要在測試設(shè)計
的時候要仔細(xì)全面,但是這種事情多少都避免不了,早一點(diǎn)發(fā)現(xiàn)并改變,也
是很重要的,另外多布置一些小結(jié)會議,有利到測試的工作方向和目標(biāo)。
usfo,希望我的回答對你稍有幫助哦。
軟件測試是軟件質(zhì)量保證的重要手段
發(fā)現(xiàn)缺陷,驗(yàn)證軟件質(zhì)量軟件測試可以發(fā)現(xiàn)缺陷,驗(yàn)證軟件質(zhì)量,是軟件質(zhì)量保證的重要手段之一。
讓我們通過本課程的學(xué)習(xí),一起來探討軟件測試的基本概念和核心方法,探索借助先進(jìn)的軟件測試工具實(shí)現(xiàn)測試的高效管理與實(shí)施,嘗試發(fā)掘軟件質(zhì)量的奧秘。
軟件測試是軟件質(zhì)量保證的重要內(nèi)容,隨著軟件規(guī)模的不斷擴(kuò)大,復(fù)雜程度的不斷提高以及各種新的程序設(shè)計方法和工具的使用,軟件測試的難度進(jìn)一步提高,測試質(zhì)量更加難以度量。
簡述"軟件測試能保證軟件質(zhì)量"是否正確
軟件測試是可以保證軟件質(zhì)量,但不是說你測試一下就可以保證質(zhì)量的。
你需要去了解如何去保證軟件質(zhì)量,你可以看下下面的
軟件在沒有發(fā)布之前的開發(fā)過程主要分為需求分析、設(shè)計、編碼和驗(yàn)證四個階段,最終的軟件質(zhì)量與這四個階段的各自質(zhì)量之間的關(guān)系如果用C語言來表達(dá)的話應(yīng)當(dāng)是: 最終的軟件質(zhì)量 = 需求分析質(zhì)量 && 設(shè)計質(zhì)量 && 編碼質(zhì)量 && 驗(yàn)證質(zhì)量 即,最終的質(zhì)量來自于各階段質(zhì)量之“與”,只要其中一個環(huán)節(jié)質(zhì)量是差,則產(chǎn)品的整體質(zhì)量都將是差,千萬不要認(rèn)為是“或”的關(guān)系。由此看來每一個階段的質(zhì)量都起著決定性的作用。 以上提及的四個階段的質(zhì)量將引出以下幾個軟件質(zhì)量保證的關(guān)鍵要素。 完備的需求分析 需求分析的目的是讓項(xiàng)目組明白要做什么,是決定所開發(fā)出來的軟件應(yīng)當(dāng)是“長什么樣的”,顯然完備的需求分析是高質(zhì)量軟件的前提。如果所開發(fā)出來的軟件與用戶所希望的并不一致,那不可能讓用戶說“這個軟件的質(zhì)量很好” 。如果方向不對,軟件開發(fā)得再“好”也沒有意義。需求分析失誤所帶來的開發(fā)成本是高昂的,這一點(diǎn)在《軟件工程》這類書籍中都會提及,因此,整個行業(yè)對于需求分析的重要性都具有足夠的認(rèn)識。當(dāng)然,知道其重要性與如何獲得完備的需求分析又是兩回事,至于如何做好需求分析請讀者參考相關(guān)書籍。 需求分析如果出現(xiàn)失誤的話有一個特點(diǎn)—— 它一定會暴露!只不過存在是暴露在軟件開發(fā)過程中還是在用戶手中之別。因此,需求分析所造成的問題盡管嚴(yán)重,但它能被發(fā)現(xiàn)進(jìn)而能得到項(xiàng)目組的重視,從而也一定能被修復(fù),只是不同階段發(fā)現(xiàn)這類問題所花費(fèi)的成本將有所不同。 設(shè)計 設(shè)計階段是通過設(shè)計方法找出軟件實(shí)現(xiàn)更好的方法,注意這里是“更好”兩個字,而不是強(qiáng)調(diào)*。 不良設(shè)計并不會象需求分析失誤那樣很容易暴露出其本質(zhì),相反,它所暴露出的更多是表象,比如邏輯復(fù)雜、維護(hù)時舉步為艱等等。如果參與者不具備一定的洞察力以發(fā)現(xiàn)隱藏在現(xiàn)象背后的不良設(shè)計本質(zhì),則很有可能身受其害卻不能自拔,還以為“本來就有那么復(fù)雜”。 項(xiàng)目的開發(fā)是一個逐步演進(jìn)的過程,項(xiàng)目組成員對于需求的理解也是逐步加深的,一開始合適的設(shè)計到后面看來很有可能就不夠全面或顯得力不從心,如果仍沿用以前的設(shè)計則自然將暴露出它的不足,進(jìn)而會出現(xiàn)需要更高的維護(hù)成本。重構(gòu)思想的提出,就是用于幫助項(xiàng)目演進(jìn)設(shè)計的,當(dāng)然,在運(yùn)用重構(gòu)方法時,應(yīng)盡可能保證項(xiàng)目有足夠的單元測試用例,以預(yù)防重構(gòu)時又引入新的缺陷。重構(gòu)不只是一個詞,其核心應(yīng)當(dāng)是一個方法論,一個用于優(yōu)化設(shè)計的方法論。 編程好習(xí)慣 設(shè)計階段輸出的結(jié)果就是藍(lán)圖,但好的藍(lán)圖并不能保證*的質(zhì)量一定就好。拿造房子打個比方,圖紙設(shè)計得再好,如果建造時用的材料不過關(guān),那最終的房子一定好不了。那軟件開發(fā)中的“建筑材料”又是什么呢?就是程序員所編寫的代碼。如何保證其質(zhì)量呢?這需要通過良好的編程習(xí)慣去保證。 在現(xiàn)實(shí)的項(xiàng)目中,設(shè)計有可能與編碼會有一定的揉合,即通過進(jìn)行一定的編碼來輔助設(shè)計。這種實(shí)踐方式并不影響這里將設(shè)計與編碼分為兩個質(zhì)量保證關(guān)鍵要素。 驗(yàn)證 驗(yàn)證很容易讓人想到質(zhì)量保證的常用方法之一,即測試。但驗(yàn)證應(yīng)當(dāng)包含更多的內(nèi)涵,比如求證軟件需求是用戶所希望的就是其中的一種。 對于驗(yàn)證的理解仍需要拿房屋的建造作為一個比方,以便加深理解。在房屋的建造過程中,當(dāng)建筑材料到了工地以后,需要對其進(jìn)行檢驗(yàn),以保證它的質(zhì)量是合格的,否則不能用于建造。對應(yīng)于軟件開發(fā),這個階段就是單元測試。當(dāng)軟件工程師編寫了代碼以后如何保證代碼的行為是其所希望的呢?那只能通過單元測試去驗(yàn)證。房子建造好了以后,還得對房子進(jìn)行整體的驗(yàn)收以確保其最終是合格的。比如抽查墻壁所使用的水泥與沙的配比是合適的。雖然水泥和沙在進(jìn)入工地時都經(jīng)過了質(zhì)檢且是合格的,但在建造的過程中需要按一定的比例混合它們以作建筑粘合劑,而混合比例將確定粘合強(qiáng)度。在軟件開發(fā)過程中,軟件集成測試就如同房子在建造好了以后的驗(yàn)收。 從上面的比方能得出幾個結(jié)論。*,在軟件開發(fā)過程中單元測試是必不可少的。它的缺少如同將沒有檢驗(yàn)過的建筑材料用于建造一樣。第二,單元測試應(yīng)當(dāng)在集成測試之前完成。有的項(xiàng)目在一開始時并沒有單元測試流程,但后來發(fā)現(xiàn)需要增加這個環(huán)節(jié),于是出現(xiàn)了集成測試完成了以后,再進(jìn)行單元測試這種情形。這種情形還是有點(diǎn)怪怪的,這如同房子已造好了,再將墻打掉去檢查里面的磚是否是好的一樣?!皩Υ虻魴z查磚”這種行為的勇氣雖然可佳,但是如果盡早地在項(xiàng)目中部署單元測試就能避免這種怪現(xiàn)象的發(fā)生。 集成(包括開發(fā)集成和系統(tǒng)集成)測試在軟件行業(yè)被廣泛采用以保證軟件質(zhì)量,但單元測試對于軟件質(zhì)量保證的重要性在整個行業(yè)還缺乏廣泛的、深刻的認(rèn)識,其更多地被當(dāng)作是負(fù)擔(dān)而不是一種有效的質(zhì)量保證手段。
軟件質(zhì)量與軟件質(zhì)量保證之間的關(guān)系?(不是軟件測試與軟件質(zhì)量的關(guān)系)
概括地說,軟件質(zhì)量就是“軟件與明確的和隱含的定義的需求相一致的程度”。具體地說,軟件質(zhì)量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)、以及所有專業(yè)開發(fā)的軟件都應(yīng)具有的隱含特征的程度。 影響軟件質(zhì)量的主要因素,這些因素是從管理角度對軟件質(zhì)量的度量??蓜澐譃槿M,分別反應(yīng)用戶在使用軟件產(chǎn)品時的三種觀點(diǎn)。正確性、健壯性、效率、完整性、可用性、風(fēng)險(產(chǎn)品運(yùn)行);可理解性、可維修性、靈活性、可測試性(產(chǎn)品修改);可移植性、可再用性、互運(yùn)行性(產(chǎn)品轉(zhuǎn)移)。軟件質(zhì)量保證(SQA)是建立一套有計劃,有系統(tǒng)的方法,來向管理層保證擬定出的標(biāo)準(zhǔn)、步驟、實(shí)踐和方法能夠正確地被所有項(xiàng)目所采用。軟件質(zhì)量保證的目的是使軟件過程對于管理人員來說是可見的。它通過對軟件產(chǎn)品和活動進(jìn)行評審和審計來驗(yàn)證軟件是合乎標(biāo)準(zhǔn)的。軟件質(zhì)量保證組在項(xiàng)目開始時就一起參與建立計劃、標(biāo)準(zhǔn)和過程。這些將使軟件項(xiàng)目滿足機(jī)構(gòu)方針的要求。
關(guān)系:
簡要的理解,軟件質(zhì)量是一個名詞,軟件質(zhì)量保證是一個動詞,是一種技術(shù)方法,是為了實(shí)現(xiàn)優(yōu)秀的軟件質(zhì)量的一個工作。在某一層次上說,軟件質(zhì)量保證和軟件測試異曲同工。
軟件測試和軟件開發(fā)的關(guān)系是什么
軟件開發(fā)是生產(chǎn)制造軟件;軟件測試是驗(yàn)證開發(fā)出來軟件的質(zhì)量.類比傳統(tǒng)加工制造企業(yè),軟件開發(fā)人員就是生產(chǎn)加工的工人,軟件測試人員就是質(zhì)檢人員.關(guān)系應(yīng)該是:
1、沒有軟件開發(fā)就沒有測試,軟件開發(fā)提供軟件測試的對象.
2、軟件開發(fā)和軟件測試都是軟件生命周期中的重要組成部分
3、軟件開發(fā)和軟件測試都是軟件過程中的重要活動.
4、軟件測試是保證軟件開發(fā)產(chǎn)物質(zhì)量的重要手段.
軟件測試和軟件開發(fā)的關(guān)系?
軟件測試工程師:查找bug、管理bug、質(zhì)量保證
軟件開發(fā)工程師:系統(tǒng)設(shè)計、編碼、修改bug
薪水收入對比:
軟件開發(fā):跨度非常大,1000-4、5萬/月不等
軟件測試:薪資穩(wěn)定,一般為2000-6000/月
職業(yè)年限長度:
軟件開發(fā):3-5年
軟件測試:有可能做到退休(如果你自己希望的話)
職業(yè)發(fā)展比較:
軟件開發(fā):做了3-5年開發(fā)后,仍未升為項(xiàng)目經(jīng)理,考慮轉(zhuǎn)行
軟件測試:隨著項(xiàng)目經(jīng)驗(yàn)的增加及對行業(yè)背景了解的加深,越老越吃香
測試工程師與開發(fā)工程師目標(biāo)一致、行為對立、并行工作,有生產(chǎn)就必然有質(zhì)檢,二者的工作相輔相成,開發(fā)人員和測試人員的主要矛盾就集中在對bug的定義上。測試人員辛辛苦苦發(fā)現(xiàn)軟件中有問題,報了一個bug。這時就會出現(xiàn)兩種狀況。種,開發(fā)人員工作很忙,壓力很大,外加心情不好,就會說出如下幾類話:
a.你會不會用軟件呀?
b.你使用了bt的方法發(fā)現(xiàn)了用戶永遠(yuǎn)也不可能發(fā)現(xiàn)的問題
c.由于我使用了XXX技術(shù),YYY方法和受到了ZZZ的約束,所以只能出現(xiàn)這樣的問題,所以就不是bug
d.上次都說過了,是你們測試的問題,先保證測試用例的正確性再來測試
大家也許要問如何解決緊張的關(guān)系,我想到了幾個方面,也歡迎大家補(bǔ)充。
先我要為測試人員說說好話,因?yàn)槲覀兺ǔ1徽J(rèn)為是不重要的一群人。
1)開發(fā)人員通常把軟件看成是程序,他們這種認(rèn)識上的誤區(qū)會排斥程序以外的其它因素,例如相關(guān)的文檔。
2)開發(fā)人員通常把軟件的質(zhì)量等同于軟件功能性方面的質(zhì)量。ISO/IEC9126標(biāo)準(zhǔn)中定義了6大質(zhì)量特性,我們做測試的人員不應(yīng)該讓開發(fā)人員鉆其它五項(xiàng)的空子。
3)測試人員通常關(guān)注的軟件的行為,也就是外在表現(xiàn),是對外部質(zhì)量的評價。而開發(fā)人員通常是關(guān)注軟件的實(shí)現(xiàn)細(xì)節(jié),也就是內(nèi)部構(gòu)成,即內(nèi)部質(zhì)量。外部質(zhì)量和內(nèi)部質(zhì)量是不等價的,也就是說開發(fā)人員犯的錯誤會引入缺陷,而缺陷在特定的使用下才會產(chǎn)生失效。所以北大青鳥建議應(yīng)該統(tǒng)一和測試人員關(guān)于bug的理解和認(rèn)識,避免分歧的不斷涌現(xiàn)。
軟件測試(QC)和QA什么關(guān)系?
QA的英文為:Quality Assurance 我們翻譯為“質(zhì)量保證”QC的英文為:Quality Control 我們翻譯為“質(zhì)量控制”
我們將這兩個角色之間進(jìn)行一下職責(zé)劃分,以方便我們后續(xù)的討論。
QA:監(jiān)控公司質(zhì)量保證體系的運(yùn)行狀況,審計項(xiàng)目的實(shí)際執(zhí)行情況和公司規(guī)范之間的差異,并出具改進(jìn)建議和統(tǒng)計分析報告,對公司的質(zhì)量保證體系的質(zhì)量負(fù)責(zé)。
QC:對每一個階段或者關(guān)鍵點(diǎn)的產(chǎn)出物(工件)進(jìn)行檢測,評估產(chǎn)出物是否符合預(yù)計的質(zhì)量要求,對產(chǎn)出物的質(zhì)量負(fù)責(zé)。
通過上面的職責(zé)劃分,我們發(fā)現(xiàn),如果我們將軟件的生產(chǎn)比喻成一條產(chǎn)品加工生產(chǎn)線的話,那QA只負(fù)責(zé)生產(chǎn)線本身的質(zhì)量保證,而不管生產(chǎn)線中單個產(chǎn)品的實(shí)際質(zhì)量情況。
QA通過保證生產(chǎn)線的質(zhì)量來間接保證軟件產(chǎn)品的質(zhì)量。
而QC不管生產(chǎn)線本身的質(zhì)量,而只關(guān)注生產(chǎn)線中生產(chǎn)的產(chǎn)品在每一個階段的質(zhì)量是否符合預(yù)期的要求,如果我們生產(chǎn)的是杯子,那QC只關(guān)注:生產(chǎn)的材料是否是預(yù)期的,每個杯子瓶口的直徑是否符合要求,杯子把手是否符合設(shè)計要求等等具體的、可量化的點(diǎn)。
針對軟件企業(yè)的軟件開發(fā)過程而言:
QA可以進(jìn)一步明確為SQA,即:軟件質(zhì)量保證,只負(fù)責(zé)軟件開發(fā)流程的質(zhì)量,企業(yè)內(nèi)相對應(yīng)的角色為:軟件質(zhì)量保證人員,有的企業(yè)就直接稱之為SQA。