1. 在軟體工程學科中,如何理解軟體測試
測試目的
第一是確認軟體的質量;
第二是提供信息,比如提供給開發人員或程序經理的反饋信息;
第三軟體測試不僅是在測試軟體產品本身,而且還包括軟體開發的過程。
軟體測試的基本方法
1黑盒測試,也稱為功能測試或數據驅動測試,著眼於程序外部結構、不考慮內部邏輯結構、針對軟體界面和軟體功能進行測試。
2白盒測試,也稱為結構測試和邏輯驅動測試,主要用於軟體驗證,全面了解程序內部結構,對所有邏輯路徑進行測試。
3ALAC(act-like-a-customer)測試,是一種基於客戶使用產品的知識開發出來的測試方法。
2. 如何看待我國軟體測試市場的發展現狀及前景
注意觀察一下你的身邊,還有哪個行業、哪個領域沒有應用到計算機,沒有軟體的存在?你的手機中安裝了大量的軟體,地鐵刷卡計費系統需要軟體,你在網上用的QQ是軟體,可以說,軟體已經滲透到了你身邊的每一個角落。有軟體的地方就必然需要「軟體測試」 !!!
隨著中國軟體業的迅猛發展,軟體產品的質量控制與質量管理正逐漸成為企業生存與發展的核心,因此幾乎所有的IT企業在軟體產品發布前都需要大量的質量控制工作。作為軟體質量控制中的重要一環,軟體測試工程師應運而生。然而, 國內軟體業因對軟體質量控制的重要作用認識較晚,尚未形成系統化的軟體測試人才需求供應鏈,造成了目前企業欲招納軟體測試人才卻"千金難求"的尷尬局面。我國軟體測試人才總體缺口極大,並且以每年15-20%的速度在上升,人才需求均為中大型IT企業。但國內高校在軟體測試專業基本空白,人才以稀為貴,正處於地位、薪資雙高時期,軟體測試工程師作為軟體質量的把關者,在企業中的地位也越來越重要。
3. 如何看待軟體測試在保證軟體產品質量中所起的作用
我是做軟體測試工作的,仁者見仁智者見智,水平有限,就你提出的問題作一個簡單的回答吧,一是期望對你的問題有所幫助,二也是對我自己的提高。
1、我對你的第一個問題表示質疑,你認為測試是保證軟體質量嗎?能保證嗎?
測試只能提高軟體質量,做不到保證,bug是永遠存在的,測試工作可以讓這
量減少、降低嚴重問題的存在;軟體過程才可能保證它的質量,不是軟體測
試,所以這一點我要明確出來。一個軟體的質量好壞不依賴於測試者,測試
再高明,軟體設計本身的水平面要品質不高,巧婦也有無米之炊的無奈。
2、測試的原本目標就是發現缺陷,挑毛病,工作性質和開發人員相反,但目標
是一致的,都是為了使軟體更完美、更穩定。
3、蓋房子的時候,先打地基,地基如果有毛病(如不夠深、不平),那以後房
蓋起來了住個幾年,你會發現樓上的梁會發裂,滲水,然後越來越讓人擔
憂。這時你要修復怎麼辦,再怎麼補都不放心,因為地基有缺陷啊!這個道
和第三個問題是一模一樣的,修復的代價太大太大了!在測試中有一個規
則,問題越早解決代價越小,單元測試發現的問題解決只要1塊錢,等到集成
測試再解決,要10塊錢,你認為比例有多大?需求分析系統設計是源頭,重
中之重,這個比例我認為要在上面我舉例中增加80%,就是說它會導致你在編
碼階段多付出8塊錢。前期可能不覺得,越到後期將發現非常頭痛,這也是我
的經驗之談,沒有太多的科學性哦。
4、對於測試員,首先是效率減低;對於項目而言,成本增加了。瞧病就錯了
診,影響大么?將導致後面的百分之八十的事情白做了,百分之二在長遠
目標中有後期幫助,同時證明另外百分之八十步入歧途。這就要在測試設計
的時候要仔細全面,但是這種事情多少都避免不了,早一點發現並改變,也
是很重要的,另外多布置一些小結會議,有利到測試的工作方向和目標。
usfo,希望我的回答對你稍有幫助哦。
4. 軟體測試崗位該怎麼理解
軟體測試(英語:Software Testing),描述一種用來促進鑒定軟體的正確性、完整性、安全性和質量的過程。
換句話說,軟體測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟體測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。
(4)如何看待軟體測試擴展閱讀:
軟體測試是伴隨著軟體的產生而產生的。早期的軟體開發過程中軟體規模都很小、復雜程度低,軟體開發的過程混亂無序、相當隨意,測試的含義比較狹窄,開發人員將測試等同於「調試」,目的是糾正軟體中已經知道的故障,常常由開發人員自己完成這部分的工作。
對測試的投入極少,測試介入也晚,常常是等到形成代碼,產品已經基本完成時才進行測試。到了上世紀80年代初期,軟體和IT行業進入了大發展,軟體趨向大型化、高復雜度,軟體的質量越來越重要。
5. 如何看待「軟體測試員」這個職位
一般認為「軟體測試員」是為了保證軟體的正確運行而設置的職位。這樣的觀點對不對呢?我認為這是軟體開發團隊的管理者的看法,但正因為這樣,這個看法幾乎被所有團隊成員所接受了,包括測試員自己。 我認為測試員不應該這樣看待自己的工作。如果測試員認為自己的工作是要保證軟體的正確運行,那麼在潛意識里,他(她)就會傾向於忽略那些可以發現Bug的測試用例。這也就是弗洛伊德所說的「失誤動作」中的「選擇性遺忘」。這樣還怎樣保證軟體的正確性呢? 我的觀點是:測試員的工作目的應該是想盡一切非物理攻擊的辦法毀滅這個軟體。測試員就應該有這樣的心態,這樣才可能更多的發現軟體中的Bug,從而提升軟體的價值。還是從心理學的角度來說,如果一個測試員有了這樣的心態,那麼在工作時的不經意間就會有Bug被逮到,尤其是那些莫名其妙的「失誤動作」。這也是為什麼一些優秀的測試員經常能夠不應用一般的測試理論而僅僅憑借「直覺」發現比其它測試員更多的Bug的原因了。 測試員應該給自己定好位。我們不是質量保證人員,我們是「毀滅者」。 偉大的卡爾·波普爾提出過一個叫做「證偽」的論斷。大意是「科學的增長是通過猜想和反駁發展的,理論不能被證實,只能被證偽」。這個觀點有點奇怪,但我對它深信不疑。公司里制定的每一個項目計劃,我們都無法證明那個計劃是正確的,我們只能想方設法證明這個計劃是錯誤的,然後修正,再證明,再修正,直到我們不能證明它有Bug為止,這時我們就認為它是可行的。軟體開發也是一樣,我們永遠無法證明一個軟體是完全正確的,我們只能不斷地找Bug,然後修正,再找Bug,然後打補丁……直到我們找不到Bug為止,這時我們認為這個軟體是接近於完美的(完美幾乎是不可能的)。 所以,做為測試員,永遠要堅定一個信念:這個軟體一定有問題,就算它以前沒問題,經過我的手,我也要找出問題來。
6. 要求寫出或談談對軟體測試的認識
1.軟體測試就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例後,需要跟蹤故障,以確保開發的產品適合需求。
2.從測試方法的角度可以分為手工測試和自動化測試。 手工測試:不使用任何測試工具,根據事先設計好的測試用例來運行系統,測試各功能模塊。 自動化測試:利用測試工具,通過編寫測試腳本和輸入測試數據,自動運行測試程序。目前最常用的自動化測試工具是基於GUI的自動化測試工具,基本原理都是錄制、回放技術。
3.從整體的角度可以分為單元測試、集成測試、系統測試、確認測試。
測試流程依次如下:
(1)需求:閱讀需求,理解需求,與客戶、開發、架構多方交流,深入了解需求。--testing team
(2)測試計劃: 根據需求估算測試所需資源(人力、設備等)、所需時間、功能點劃分、如何合理分配安排資源等。---testing leader or testing manager
(3)用例設計:根據測試計劃、任務分配、功能點劃分,設計合理的測試用例。---testing leader, senior tester
(4)執行測試:根據測試用例的詳細步驟,執行測試用例。--every tester(主要是初級測試人員)
(5)執行結果記錄和bug記錄:對每個case記錄測試的結果,有bug的在測試管理工具中編寫bug記錄。--every tester(主要是初級測試人員)
(6)defect tracking:追蹤leader分配給你追蹤的bug.直到 bug fixed。--every tester
(7)測試報告:通過不斷測試、追蹤,直到被測軟體達到測試需求要求,並沒有重大bug.
(8)用戶體驗、軟體發布等……
總之,就是找出軟體中存在的bug,提高產品的質量,提升用戶的體驗!
7. 軟體工程中怎樣看待測試的重要性
第一是確認軟體的質量;
第二是提供信息,比如提供給開發人員或程序經理的反饋信息;
第三軟體測試不僅是在測試軟體產品本身,而且還包括軟體開發的過程。
所以軟體測試是貫穿軟體開發的過程的,而不是簡單的成品質檢那麼簡單,另外因為軟體測試工作的存在也最大限度保證了程序員產出的程序和系統的穩定性及安全性。
8. 對軟體測試的理解
就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例後,需要跟蹤故障,以確保開發的產品適合需求。
使用人工或者自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別.
它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。
Grenford J.Myers曾對軟體測試的目的提出過以下觀點:
(1)測試是為了發現程序中的錯誤而執行程序的過程;
(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;
(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
然而,這種觀點指出測試是以查找錯誤為中心,而不是為了演示軟體的正確功能.但是只從字面意思理解,可能會產生誤導,認為發現錯誤是軟體測試的唯一目的,查找不出錯誤的測試就是沒有價值的測試,實際上並非如此!
(1)測試並不僅僅是為了找出錯誤.通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助項目管理者
發現當前軟體開發過程中的缺陷,以便及時改進;
(2)這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性;
(3)沒有發現錯誤的測試也是有價值的,完整的測試是評定軟體質量的一種方法
9. 談談你對軟體測試的理解
軟體測試主要就是根據用戶需求,找出軟體中不符合用戶需求的!是為了保障軟體上線的質量,通過執行用例而找出軟體的缺陷而執行的一種程序!
10. 如何看待軟體測試在保證軟體產品質量中所起的作用
1、軟體測試在保證產品質量中所起的作用,就是在產品發布前提前發現問題解決問題,節約產品發布後的維護費用。
2、軟體測試的原有目標也就是為了減少產品發布後的客戶投訴,現在說法有好多,可以說叫做節約成本,提高收益,還可以保證產品質量。。。。。目的其實就這么一個。。。。
3、問題有點籠統,但是系統設計如果出現問題,將會對整個測試工作都產生影響,這個不敢妄下結論。
4、測試存在的誤區對測試工作的影響,缺陷的露出啦,這個是最直接的表現。