1. 軟體測試主要是用哪些工具呢
常用的軟體測試工具一般是:QTP+LoadRunner+QC
軟體測試中還需的工具如下:
功能測試工具:QTP(HP),WinRunner(MI),Robort(IBM),QARun(Compuware)
性能測試工具:LoadRunner(HP),WAS(MS),Robort(IBM)【必須下載相應的插件才支持性能方面的測試】,QALoad(Compuware)
測試管理工具:TestDirector/Quarlity Center【這兩個工具一個橫版一個豎版,功能完全一樣】,Rational TestManager
缺陷跟蹤工具:Bugzilla、Mantis
其他:Rational Purify、Rational PureCoverager
2. Python做軟體自動化測試的入門提問
同在軟體測試崗位。由於同樣初學python,所以沒有太多的實踐經驗。
使用python的單元測試框架,可以建立測試類,構造測試集。
測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。
測試集允許你根據測試策略組合不同的測試用例並實施。
下面兩篇文章推薦看看:
http://www.ibm.com/developerworks/cn/linux/l-pyunit/
http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html
有一個問題我還沒找到答案,就是如何讓單元測試框架的log輸出到文件(默認輸出到控制台)。
3. 軟體測試工具有哪些
1、WinRunner
Winrunner 最主要的功能是自動重復執行某一固定的測試過程,它以腳本的形式記錄下手工測試的一系列操作,在環境相同的情況下重放,檢查其在相同的環境中有豎型敗無異常的現象或與預期結果不符的地方。
2、LoadRunner
LoadRunner® 是一種預測系統行為和性能的工業標准級負載測試工具租咐。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。
3、QTP
QTP是一個B/S系統的自動化功能測試的利器,軟體程序測試工具。Mercury的自動化功能測試軟體QuickTest Professional ,可以覆蓋絕大多數的軟體開發技術,簡單高效,並具備測試用例可重用的特點。
4、TestDirector
基於WEB的測試管理工具,他能夠讓你系統地控制整個測試過程,並創建整個測試工作流的框架和基礎,使整個測試管理過程變得更為簡單和有組織。
5、SilkTest
SilkTest 是面向Web應用、Java應用和傳統的C/S應用,進行自動化的功能測試和回歸測試的工具。它提供了用於測試余顫的創建和定製的工作流設置、測試計劃和管理、直接的資料庫訪問及校驗等功能,使用戶能夠高效率地進行軟體自動化測試。
6、Selenium
Selenium是為正在蓬勃發展的web應用開發的一套完整的測試系統。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。
7、TPT
TPT是針對嵌入式系統的基於模型的測試工具,特別是針對控制系統的軟體功能測試。TPT支持所有的測試過程:包括測試建模、測試執行、測試評估以及測試報告的生成。
4. 軟體測試的方法一共有幾種
1、從是否關心內部結構來看
(1)白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程序內部邏輯結構和編碼結構,設計測試數據並完成測試的一種測試方法。
(2)黑盒測試:又稱為數據驅動測試,把測試對象當做看不見的黑盒,在完全不考慮程序內部結構和處理過程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟體或程序的角度,從輸入數據與輸出數據的對應關系出發進行的測試。
(3)灰盒測試:是一種綜合測試法,它將「黑盒」測試與「白盒」測試結合在一起,是基於程序運行時的外部表現又結合內部邏輯結構來設計用例,執行程序並採集路徑執行信息和外部用戶介面結果的測試技術。
2、從是否執行代碼看
(1)靜態測試:指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、介面等來檢查程序的正確性。
(2)動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率、正確性和健壯性等性能指標。
3、從開發過程級別看
(1)單元測試:又稱模塊測試,是針對軟體設計的最小單位----程序模塊或功能模塊,進行正確性檢驗的測試工作。其目的在於檢驗程序各模塊是否存在各種差錯,是否能正確地實現了其功能,滿足其性能和介面要求。
(2)集成測試:又叫組裝測試或聯合,是單元測試的多級擴展,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟體單元之間的介面關系,以期望通過測試發現各軟體單元介面之間存在的問題,最終把經過測試的單元組成符合設計要求的軟體。
(3)系統測試:是為判斷系統是否符合要求而對集成的軟、硬體系統進行的測試活動、它是將已經集成好的軟體系統,作為基於整個計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、人員、數據等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
在系統測試中,對於具體的測試類型有:
(1)功能測試:對軟體需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(2)性能測試:對軟體需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。
(3)介面測試:對軟體需求規格說明中的介面需求逐項進行的測試。
(4)人機交互界面測試:對所有人機交互界面提供的操作和顯示界面進行的測試,以檢驗是否滿足用戶的需求。
(5)強度測試:強制軟體運行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟體可以運行到何種程序的測試。
(6)餘量測試:對軟體是否達到規格說明中要求的餘量的測試。
(7)安全性測試:檢驗軟體中已存在的安全性、安全保密性措施是否有效的測試,
(8)可靠性測試:在真實的或模擬的環境中,為做出軟體可靠性估計而對軟體進行的功能(其輸入覆蓋和環境覆蓋一般大於普通的功能測試)
(9)恢復性測試:對有恢復或重置功能的軟體的每一類導致恢復或重置的情況,逐一進行的測試。
(10)邊界測試:對軟體處在邊界或端點情況下運行狀態的測試。
(11)數據處理測試:對完成專門數據處理功能所進行的測試。
(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。
(13)容量測試:檢驗軟體的能力最高能達到什麼程度的測試。
(14)互操作性測試:為驗證不同軟體之間的互操作能力而進行的測試。
(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些數據的組合而進行的測試。
(16)標准符合性測試:驗證軟體與相關國家標准或規范(如軍用標准、國家標准、行業標准及國際標准)一致性的測試。
(17)兼容性測試:驗證軟體在規定條件下與若干個實體共同使用或實現數據格式轉換時能滿足有關要求能力的測試。
(18)中文本地化測試:驗證軟體在不降低原有能力的條件下,處理中文能力的測試。
4、從執行過程是否需要人工干預來看
(1)手工測試:就是測試人員按照事先為覆蓋被測軟體需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸 入執行,包括與被測軟體進行交互(如輸入測試數據、記錄測試結果等),然後觀察測試結果,看被測程序是否存在問題,或在執行過程中是否會有一場發生,屬於比較原始但是必須執行的一個步驟。
(2)自動化測試:實際上是將大量的重復性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程序設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程序自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程序按照人工指定的要求完成自動測試)
5、從測試實施組織看
(1)開發測試:開發人員進行的測試
(2)用戶測試:用戶方進行的測試
(3)第三方測試:有別於開發人員或用戶進行的測試,由專業的第三方承擔的測試,目的是為了保證測試工作的客觀性
6、從測試所處的環境看
(1)阿爾法測試:是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的測試
(2)貝塔測試:是用戶公司組織各方面的典型終端用戶在日常工作中實際使用貝塔版本,並要求用戶報告
軟體測試的內容:
1 得到需求、功能設計、內部設計說書和其他必要的文檔
2 得到預算和進度要求
3 確定與項目有關的人員和他們的責任、對報告的要求、所需的標准和過程 ( 例如發行過程、變更過程、等等 )
4 確定應用軟體的高風險范圍,建立優先順序、確定測試所涉及的范圍和限制
5 確定測試的步驟和方法 ── 部件、集成、功能、系統、負載、可用性等各種測試
6 確定對測試環境的要求 ( 硬體、軟體、通信等 )
7 確定所需的測試用具 (testware) ,包括記錄 / 回放工具、覆蓋分析、測試跟蹤、問題 / 錯誤跟蹤、等等
8 確定對測試的輸入數據的要求
9 分配任務和任務負責人,以及所需的勞動力
10 設立大致的時間表、期限、和里程碑
11 確定輸入環境的類別、邊界值分析、錯誤類別
12 准備測試計劃文件和對計劃進行必要的回顧
13 准備白盒測試案例
14 對測試案例進行必要的回顧 / 調查 / 計劃
15 准備測試環境和測試用具,得到必需的用戶手冊 / 參考文件 / 結構指南 / 安裝指南,建立測試跟蹤過程,建立日誌和檔案、建立或得到測試輸入數據
16 得到並安裝軟體版本
17 進行測試
18 評估和報告結果
19 跟蹤問題 / 錯誤,並解決它
20 如果有必要,重新進行測試
21 在整個生命周期里維護和修改測試計劃、測試案例、測試環境、和測試用具
5. 如何使用EMC32軟體(汽車類測試)的自動測試
使配斗用EMC32自帶的,用自動測試培告磨,如下圖:友轎
6. 軟體測試是什麼
問題一:什麼是軟體測試? 軟體測試定義是:為了發現程序中的錯誤而執行程序的過程
它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(pleteness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。
軟體測試的目標:
(1)測試是為了發現程序中的錯誤而執行程序的過程;
(2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案;
(3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
軟體測試的內容:
軟體測試主要工作內容是驗證(verification)和確認( validation ),下面分別給出其概念:
驗證(verification)是保證軟體正確地實現了一些特定功能的一系列活動,即保證軟體做了你所期望的事情。(Do the right thing)
1.確定軟體生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程;
2.程序正確性的形式證明,即採用形式理論證明程序符號設一計規約規定的過程;
3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。
確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟體的邏輯正確性。即保證軟體以正確的方式來做了這個事件(Do it right)
1.靜態確認,不在計算機上實際執行程序,通過人工或程序分析來證明軟體的正確性;
2.動態確認,通過執行程序做分析,測試程序的動態行為,以證實軟體是否存在問題。
軟體測試的對象不僅僅是程序測試,軟體測試應該包括整個軟體開發期問各個階段所產生的文檔,如需求規格說明、概要設計文檔、詳細設計文檔,當然軟體測試的主要對象還是源程序。
從不同的角度出發,軟彎如件測試可以劃分為不同的分類:
從是否關心軟體內部結構和具體實現的角度劃分
A.白盒測試
B.黑盒測試
C.灰盒測試
從是否執行程序的角度
A.靜態測試
B.動態測試。
從軟體開發的過程按階段劃分有
A.單元測試
B.集成測試
C.確認測試
D.驗收測試
E.系統測試
問題二:軟體測試主要做什麼工作? 顧名思義,主要工作就是測試軟體,但是測試前的測試需求、編寫測試計劃、編寫測試用例,測試後的編寫測試總結報態鬧拿告等,也是必須要做的。
測試軟體又為手動測試和自動測試,自動測試指用測試工具對軟體進行測試。
最後,軟體測試的定義是為了找出軟體中的bug而運行軟體的過程;
說了這些,你明白了吧。
問題三:軟體測試這個行業一般做什麼? 以下是軟體測試工程師的日常工作:
1. 書寫測試計劃
2. 審核測試計劃,未通過返回第一步
3. 書寫測試用例;
4. 審核測試用例,未通過返回第三步
5. 測試人員按照測試用例逐項進行測試活動,並且將測試結果填寫在測試報告上;(測試報告必須覆蓋所有測試用例)
6. 測試過程中發現bug,將bug填寫在bugzilla上發給集成部經理;(bug狀態NEW)
7. 集成部經理接到bugzilla發過來的bug
7.1 對於明顯的並且可以立刻解決的bug,將bug發給開發人員;(bug狀態ASSIGNED);
7.2 對於不是帆搭bug的提交,集成部經理通知測試設計人員和測試人員,對相應文檔進行修改; (bug狀態RESOLVED,決定設置為INVALID);
7.3 對於目前無法修改的,將這個bug放到下一輪次進行修改;(bug狀態RESOLVED,決定設置為REMIND)
8. 開發人員接到發過來的bug立刻修改;(bug狀態RESOLVED,決定設置為FIXED)
9. 測試人員接到bugzilla發過來的錯誤更改信息,應該逐項復測,填寫新的測試報告(測試報告必須覆蓋上一次中所有REOPENED的測試用例);
10. 如果復測有問題返回第六步(bug狀態REOPENED)
11. 否則關閉這項BUG(bug狀態CLOSED)
12. 本輪測試中測試用例中有95%一次性通過測試,結束測試任務;
13. 本輪測試中發現的錯誤有98%經過修改並且通過再次測試(即bug狀態CLOSED),返回第五步進行新的一輪測試;
14. 測試任務結束後書寫測試總結報告;
15. 正規測試結束進入非正規測試,首先是ALPHA測試,請公司里其他非技術人員以用戶角色使用系統。發現bug通知測試人員,測試人員以正規流程處理bug事件;
16. 然後是BETA測試,請用戶代表進行測試。發現bug通知測試人員,測試人員以正規流程處理bug事件。
問題四:軟體測試的重要性是什麼? 保證軟體的質量
問題五:什麼是軟體測試? 簡單的說他是軟體生產過程中的質量管理者,其不但要對軟體產品最後的功能、性能負責,而且從軟體的「需求分析」、「結構設計」階段以及文檔規范等諸多方面就開始對軟體的質量加以保障,使生產出來的軟體的功能達到設計之初的要求,讓用戶用上高質量的軟體。可見軟體測試工程師的重要性了,隨著我國加入WTO及國內軟體企業的日益成熟和壯大,軟體測試工程師在業界的地位已經變得越來越重要。
問題六:軟體測試的目的是什麼 現在很多人都發現了軟體測試這個前景待遇都很不錯的行業,那麼究竟有人多人知道自己每天工作的目的是什麼呢?作為一個軟體測試員,自己又怎樣的價值,自己做的工作為公司甚至為社會會帶來怎樣的影響和效果呢?這樣的問題你有沒有認真的思考過呢?從主觀的角度上這個問題是很難回答的,所以我們現在列舉一下我們經常聽到的對這個問題的回答。
軟體測試的目的是盡可能發現並改正被測試軟體中的錯誤,提高軟體的可靠性。
,這個定義聽起來很正確,但用它來指導測試會帶來很多問題。比如有的組織用發現的bug數來衡量測試人員的業績,其實這就是這種測試目的論在後面作祟,其結果如何呢:其一,有一些不夠敬業的測試人員會找來一些無關痛癢的bug來充數,結果許多時間會被浪費在這些無關痛癢的bug上(其實應該修復,何時修復,嚴重程度是什麼,優先順序是什麼,等等);其二,測試人員會花很大力氣設計一些復雜的測試用例去發現一些迄今尚未發現的缺陷,而不關心這些缺陷是否在實際用戶的使用過程當中是否會發生,從而浪費了大量的寶貴時間。究其根源,就是因為對測試目的的這種錯誤理解造成的,為什麼這么說呢?因為軟體里bug的數量是無從估計的,那麼如果測試的目的是為了找bug
,那麼測試工作將變成一項無法完成也無法衡量進度而且部分無效的工作(因為有些bug在實際的運行過程當中根本不會發生)。
測試的目的就是為了保證軟體質量
,這個定義也是看似正確,但實際上,混淆了測試和質量保證工作的邊界。軟體質量要素有很多,包括:
Understandability、Conciseness、Portability、Consistency、Maintainability、Testability、Usability、Structures、Efficiency、Security等等,所以,軟體質量保證和測試其實關注的方向是不同的。
使用人工或自動手段來運行或測定某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。
所以,簡言之,測試的目的應該是驗證需求,
bug(預期結果與實際結果之間的差別)是這個過程中的產品而非目標。測試人員應該象工兵一樣,在大部隊(客戶)預期前進的方向上探雷、掃雷(bug)
,而不需要去關心那些根本沒有人會去碰的地雷。衡量一個測試人員應該去衡量他/她測試了多少需求(測試工作量)
問題七:軟體測試是什麼以及目的 軟體測試是軟體開發過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發之前所提出的一些要求。軟體測試就是在軟體投入運行前,對軟體需求分析、設計規格說明和編碼的最終復審,是軟體質量保證的關鍵步驟。軟體測試是為了發現錯誤而執行程序的過程。軟體測試在軟體生存期中橫跨兩個階段:通常在編寫出每一個模塊之後就對它做必要的測試(稱為單元測試)。編碼和單元測試屬於軟體生存期中的同一個階段。在結束這個階段後對軟體系統還要進行各種綜合測試,這是軟體生存期的另一個獨立階段,即測試階段。軟體測試的目的軟體測試的目的,第一是確認軟體的質量,其一方面是確認軟體做了你所期望的事情(Do the right thing),另一方面是確認軟體以正確的方式來做了這個事件(Do it right)。第二是提供信息,比如提供給開發人員或程序經理的反饋信息,為風險評估所准備的信息。第三軟體測試不僅是在測試軟體產品的本身,而且還包括軟體開發的過程。如果一個軟體產品開發完成之後發現了很多問題,這說明此軟體開發過程很可能是有缺陷的。因此軟體測試的第三個目的是保證整個軟體開發過程是高質量的。軟體質量是由幾個方面來衡量的:一、在正確的時間用正確的的方法把一個工作做正確(Doing the right things right at the right time.)。二、符合一些應用標準的要求,比如不同國家的用戶不同的操作習慣和要求,項目工程中的可維護性、可測試性等要求。三、質量本身就是軟體達到了最開始所設定的要求,而代碼的優美或精巧的技巧並不代表軟體的高質量(Quality is defined as conformance to requirements, not as 「goodness」 or 「elegance」.)。四、質量也代表著它符合客戶的需要(Quality also means 「meet customer needs」.)。作為軟體測試這個行業,最重要的一件事就是從客戶的需求出發,從客戶的角度去看產品,客戶會怎麼去使用這個產品,使用過程中會遇到什麼樣的問題。只有這些問題都解決了,軟體產品的質量才可以說是上去了。
問題八:軟體測試的工作流程是什麼?? 軟體測試的測試流程有1、制定測試計劃2、編輯測試用例3、執行測試用例4、發現並提交BUG
5、開發組修正BUG6、對已修正BUG進行返測7、修正完成的BUG將狀態置為已關閉,未正確修正的BUG重新激活,參考什麼是軟體測試和軟體測試原則note.you/...e=note
問題九:什麼是軟體測試 軟體測試(英語:software testing),描述一種用來促進鑒定軟體的正確性、完整性、安全性和質量的過程。換句話說,軟體測試是一種實際輸出與預期輸出間的審核或者比較過程。軟體測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。
它的目的就只有一個,通過在系統上線前通過技術手段,盡可能找到軟體在不同維度上存在的缺陷,使開發團隊進行修改,以期在上線後,盡可能少的存在缺陷,提升軟體、項目的質量。
註:保證質量的手段有很多,而軟體測試是其中重要的手段之一。
問題十:軟體測試是做什麼的? 軟體測試就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例後,需要跟蹤故障,以確保開發的產品適合需求。
使用人工或者自動手段來運行或測試某個供統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別. 它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(pleteness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。
Grenford J.Myers曾對軟體測試的目的提出過以下觀點: (1)測試是為了發現程序中的錯誤而執行程序的過程; (2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案; (3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
然而,這種觀點指出測試是以查找錯誤為中心,而不是為了演示軟體的正確功能.但是只從字面意思理解,可能會產生誤導,認為發現錯誤是軟體測試的唯一目的,查找不出錯誤的測試就是沒有價值的測試,實際上並非如此!
(1)測試並不僅僅是為了找出錯誤.通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助項目管理者 發現當前軟體開發過程中的缺陷,以便及時改進;
(2)這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性;
(3)沒有發現錯誤的測試也是有價值的,完整的測試是評定軟體質量的一種方法 軟體測試完整分類,參見:軟體測試的完整分類
以上的都是官話!其實說白了,軟體測試就是在開發人員做出軟體投放市場前,盡可能早的找出軟體當中所存在的BUG!因為任何軟體在理論上來說都是存在問題的,都不是完美的!盡早的找出漏洞,公司的損失也就越低!這也就是軟體測試人員越來越受重視的原因!
其實軟體測試是一種相當乏味枯燥的工作,一般面公司都比較偏向稍微內向的人,另外測試人員還要具備相當的口才,方便與開發人員還有客戶交流!
7. 軟體測試的方法有哪些
選擇培訓機構時就一定考慮到以下幾點:
1、課程選擇,不要只是簡單的學習功能測試,而是會涵蓋有現在流行的自動化測試、GUI測試,介面測試和性能測試開發等內容;
2、培訓機構的教學不僅僅是教會你做標準的軟體測試,而是要教你一些測試邏輯,教會你使用工具但又不依賴於這些工具也可以完成自動化測試,也就是其背後的底層的工作原理,這些東西才是真正能夠內化成屬於你個人的核心競爭力。
3、現在的移動互聯網企業對自動化測試的需求非常大,也會要求學員掌握程序設計的原理,所以測試開發性綜合性人才才是未來IT行業的需求方向。
4、一定要去參加試學,因為很多人目標不明確,甚至是迷茫的,所以去試學一周,看看自己是不是真的想做技術,或者適合做技術。
5、授課方式,有些是面授,有些是視頻授課,各有優點,就看自己喜歡哪種了。當然,線下面授的學費應該更高,畢竟成本在那裡,學習時有老師盯著,有同學陪著,能夠更快的進入學習的狀態,有更充足的鬥志。
8. 軟體測試有哪些方法
問題一:軟體測試的方法一共有幾種 1、按是否查看程序內部結構分為:
(1)黑盒測試(black-box testing):只關心輸入和輸出的結果
(2)白盒測試(white-box testing):去研究裡面的源代碼和賀虛程序結構
2、按是否運行程序分為:
(1)靜態測試(static testing):是指不實際運行被測軟體,而只是靜態地檢查程序代碼、界面或文檔可能存在的錯誤的過程。
靜態測試包括:
對於代碼測試,主要是測試代碼是否符合相應的標准和規范。
對於界面測試,主要測試軟體的實際界面與需求中的說明是否相符。
對於文檔測試,主要測試用戶手冊和需求說明是否真正符合用戶的實際需求。
(5)動態測試(dynamic testing),是指實際運行被測程序,輸入相應的測試數據,檢查輸出結果和預期結果是否相符的過程
3、按階段劃分:
(1)單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。
樁模塊(stud)是指模擬被測模塊所調用的模塊,驅動模塊(driver)是指模擬被測模塊的上級模塊,驅動模塊用來接收測試數據,啟動被測模塊並輸出結果。
(2)集成測試(integration testing),是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不同模塊的介面部門。
集成測試就是用來檢查各個單元模塊結合到一起能否協同配合,正常運行。
(3)系統測試(system testing),指的是將整個軟體系統看做一個整體進行測試,包括對功能、性能,以及軟體所運行的軟硬體環境進行測試。
系統測試的主禪輪燃要依據是《系統需求規格說明書》文檔。
(4)驗收測試(acceptance testing),指的是在系統測試的後期,以用戶測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟體正式交給用戶使用的最後一道工序。
驗收測試又分為a測試和beta測試,其中a測試指的是由用戶、 測試人員、開發人員等共同參與的內部測試,而beta測試指的是內測後的公測,即完全交給最終用戶測試。
4、黑盒測試分為功能測試和性能測試:
1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟體的功能是否符合用戶的需求。
包括邏輯功能測試(logic function testing)
界面測試(UI testing)UI=User Interface
易用性測試(usability testing):是指從軟體使用的合理性和方便性等角度對軟體系統進行檢查,來發現軟體中不方便用戶使桐李用的地方。
兼容性測試(patibility testing):包括硬體兼容性測試和軟體兼容性測試
2)性能測試(performance testing)
軟體的性能主要有時間性能和空間性能兩種
時間性能:主要指軟體的一個具體事務的響應時間(respond time)。
空間性能:主要指軟體運行時所消耗的系統資源。
軟體性能測試分為:
一般性能測試:指的是讓被測系統在正常的軟硬體環境下運行,不向其施加任何壓力的性能測試。
穩定性測試也叫可靠性測試(reliability testing):是指連續運行被測系統檢查系統運行時的穩定程度。
負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限范圍之內連續運行,來測試系統的穩定性。
壓力測試(stress testing):是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。(Validate the system or software ca......>>
問題二:軟體測試方法有哪些 軟體測試的方法根據軟體工程的組織和實現方式,有很大差別,有些是比較技術化的方法,有些則是工程方法,主要分為:
黑盒測試方法群:等價類劃分、邊界值、因果圖、基路徑法、專家測試法、 *** oking、場景測試等
白盒測試方法群:同行評審、需求審查、代碼審查、介面測試(調用測試和返回測試,需要結合等價類和因果圖方法)等。
當在單元層面黑盒而在集成層面白盒時,基本上兩類方法就會有結合了,就會出現習慣上說的灰盒測試(說實話,不做到純產品級開發,基本上都是用的灰盒測試)。
問題三:軟體測試方法有哪些分類? 軟體測試方法分類:
白盒、黑盒、灰盒;
單元測試、集成測試、系統測試、驗收測試、回歸測試、Alpha 測試、Beta 測試;
靜態測試和動態測試。
設計測試用例的主要方法有:等價類劃分;
邊界值分析法;
因果圖法;
場景法。
希望能幫到你,
您的滿意就是我的動力。
問題四:軟體測試方法(Method)有哪些 有4種方法可以達成測算程序運行時間的目的。它們分別是使用clock, times, gettimeofday, getrusage來實現的。下面就來逐一介紹,並比較它們的優劣點。 系統測試環境: VirtualBox (Ubuntu 9_sec + (double)stTimeval.tv_usec*1E-6; } int main() { int i, j; int n = 0; clock_t clockT1, clockT2; double doubleT1, doubleT2; if (TEST_METHOD == TEST_BY_CLOCK) { clockT1 = clock(); } else if (TEST_METHOD == TEST_BY_TIMES) { times(&clockT1); } else if (TEST_METHOD == TEST_BY_GETTIMEOFDAY) { doubleT1 = getTimeval(); } else if (TEST_METHOD == TEST_BY_GETRUSAGE) { doubleT1 = getTimeval(); } for (i = 0; i >
問題五:關於軟體測試的常見方法有哪些 手動測試和自動化測試
自動化測試使用自動化測試工具,比如TestWriter~
問題六:軟體測試的方法有哪幾種? 5分 《全國計算機等級考試三級教程軟體測試》
目錄
第1章 軟體測試的基本概念
1.1 軟體質量的概念
1.1.1 軟體質量的定義
1.1.2 軟體質量的屬性
1.1.3 軟體質量模型
1.1.4 軟體質量的度量
1.1.5 影響軟體質量的主要因素
1.2 軟體測試的概念
1.2.1 軟體測試的定義與目的
1.2.2 軟體測試的原則
1.3 軟體的缺陷與錯誤
1.3.1 軟體缺陷的定義和類型
1.3.2 軟體缺陷的級別
1.3.3 軟體缺陷產生的原因
1.3.4 軟體缺陷的構成第1章 軟體測試的基本概念
1.1 軟體質量的概念
1.1.1 軟體質量的定義
1.1.2 軟體質量的屬性
1.1.3 軟體質量模型
1.1.4 軟體質量的度量
1.1.5 影響軟體質量的主要因素
1.2 軟體測試的概念
1.2.1 軟體測試的定義與目的
1.2.2 軟體測試的原則
1.3 軟體的缺陷與錯誤
1.3.1 軟體缺陷的定義和類型
1.3.2 軟體缺陷的級別
1.3.3 軟體缺陷產生的原因
1.3.4 軟體缺陷的構成
1.3.5 修復軟體缺陷的代價
1.4 軟體測試的經濟學與心理學
1.4.1 軟體測試的心理學
1.4.2 軟體測試的經濟學
1.5 軟體質量保證
1.5.1 軟體質量保證概要
1.5.2 軟體質量保證活動的實施
1.5.3 軟體的驗證與確認
1.5.4 驗證和確認任務分析
本章小結
第2章 軟體生存周期中測試的實施
2.1 軟體開發階段
2.1.1 軟體生存周期
2.1.2 軟體測試的生存周期模型
2.1.3 軟體測試過程模型
2.1.4 測試信息流
2.2 需求獲取與分析階段的測試
2.2.1 需求評審的實施
2.2.2 需求規格說明的評審
2.2.3 Wiegers 用例與需求評審表2.2.4 基於原型的測試
2.2.5 基於需求的測試覆蓋率評估
2.3 設計階段的測試
2.3.1 設計的測試因素
2.3.2 設計評審的實施
2.3.3 設計規格說明的評審
2.3.4 設計元素的覆蓋原則
2.4 編程階段的測試
2.4.1 白盒測試與黑盒測試
2.4.2 源代碼的控制流覆蓋原則
2.4.3 源代碼的數據流覆蓋原則
2.4.4 源代碼的靜態分析與動態測試
2.5 運行和維護階段的測試
2.6 回歸測試
2.6.1 回歸測試的概念
2.6.2 回歸測試的類型
2.6.3 回歸測試的時機
2.6.4 回歸測試的實施
本章小結
第3章 代碼檢查、走查與評審
3.1 桌上檢查
3.1.1 桌上檢查的實施
3.1.2 桌上檢查的檢查表
3.2 代碼檢查
3.2.1 特定的角色和職責
3.2.2 代碼檢查的實施
3.2.3 用於代碼檢查的檢查表
3.3 走查
3.3.1 特定的角色和職責
3.3.2 走查的實施
3.3.3 走查中的靜態分析技術
3.4 同行評審
3.4.1 同行評審的角色和職責
3.4.2 同行評審的內容
3.4.3 評審的方法和技術
3.4.4 評審工作
本章小結
第4章 白盒測試
4.1 覆蓋率的概念
4.2 邏輯覆蓋
4.2.1 語句覆蓋與塊覆蓋
4.2.2 判定覆蓋(分支覆蓋)
4.2.3 條件覆蓋
4.2.4 條件/判定覆蓋
4.2.5 條件組合覆蓋
4.2.6 路徑覆蓋
4.2.7 ESTCA覆蓋
4.2.8 LCSAJ覆蓋
4.3 路徑測試
4.3.1 分支結構的路徑測試
4.3.2 循環結構的路徑測試
4.3.3 圈復雜度與基本路徑測試
4.4 數據流測試
4.4.1 定義M使用測試的幾個......>>
問題七:軟體測試的目標和准則是什麼?有哪些測試方法?測試步驟有哪些 具體地講,測試一般要達到下列目標:
1、確保產品完成了它所承諾或公布的功能,並且所有用戶可以訪問到的功能都有明確的書面說明------在某種意義上與ISO9001是同一種思想。
產品缺少明確的書面文檔,是廠商一種短期行為的表現,也是一種不負責任的表現。所謂短期行為,是指缺少明確的書面文檔既不利於產品最後的順利交付,容易與用戶發生矛盾,影響廠商的聲譽和將來與用戶的合作關系;同時也不利於產品的後期維護,也使廠商支出超額的用戶培訓和技術支持費用。從長期利益看,這是很不劃算的。領測認為接觸過的軟體產品,很少有向方正這樣大大的產品、薄薄的文檔。
當然,書面文檔的編寫和維護工作對於使用快速原型法(RAD)開發的項目是最為重要的、最為困難,也是最容易被忽略的。
最後,書面文檔的不健全甚至不正確,也是測試工作中遇到的最大和最頭痛的問題,它的直接後果是測試效率低下、測試目標不明確、測試范圍不充分,從而導致最終測試的作用不能充分發揮、測試效果不理想。
2、 確保產品滿足性能和效率的要求
使用起來系統運行效率低(性能低)、或用戶界面不友好、用戶操作不方便(效率低)的產品不能說是一個有競爭力的產品。
用戶最關心的不是你的技術有多先進、功能有多強大,而是他能從這些技術、這些功能中得到多少好處。也就是說,用戶關心的是他能從中取出多少,而不是你已經放進去多少。
3、 確保產品是健壯的和適應用戶環境的
健壯性即穩定性,是產品質量的基本要求,尤其對於一個用於事務關鍵或時間關鍵的工作環境中。
另外就是不能假設用戶的環境(某些項目可能除外),如:報業用戶許多配置是比較低的,而且是和某些第三方產品同時使用的。
測試的原則---Good Enough
對於相對復雜的產品或系統來說,zero-bug是一種理想,good-enough是我們的原則。
Good-enough原則就是一種權衡投入/產出比的原則:不充分的測試是不負責任的;過分的測試是一種資源的浪費,同樣也是一種不負責任的表現。我們的操作困難在於:如何界定什麼樣的測試是不充分的, 什麼樣的測試是過分的。目前狀況唯一可用的答案是:制定最低測試通過標准和測試內容,然後具體問題具體分析。最明顯的例子就是FIT3.0中文報版的產品測試。
測試的規律----木桶原理和80-20原則
1、木桶原理。
在軟體產品生產方面就是全面質量管理(TQM)的概念。產品質量的關鍵因素是分析、設計和實現,測試應該是融於其中的補充檢查手段,其他管理、支持、甚至文化因素也會影響最終產品的質量。應該說,測試是提高產品質量的必要條件,也是提高產品質量最直接、最快捷的手段,但決不是一種根本手段。反過來說,如果將提高產品質量的砝碼全部押在測試上,那將是一個恐怖而漫長的災難。
2、 Bug的80-20原則。
一般情況下,在分析、設計、實現階段的復審和測試工作能夠發現和避免80%的Bug,而系統測試又能找出其餘Bug中的80%,最後的5%的Bug可能只有在用戶的大范圍、長時間使用後才會曝露出來。因為測試只能夠保證盡可能多地發現錯誤,無法保證能夠發現所有的錯誤。
軟體測試的方法:
1、按是否查看程序內部結構分為:
(1)黑盒測試(black-box testing):只關心輸入和輸出的結果
(2)白盒測試(white-box testing):去研究裡面的源代碼和程序結構
2、按是否運行程序分為:
(1)靜態測試(static testing):是指不實際運行被測軟體,而只是靜態地......>>
問題八:軟體測試方法?都有哪幾種? 第一類測試方法是試圖驗證軟體是「工作的」,所謂「工作的」就是指軟體的功能是按照預先的設計執行的;而第二類測試方法則是設法證明軟體是「不工作的」。
還有兩大類:白盒法和黑盒法。
白盒法:你清楚程序的流程時,用不同的數據測試你程序的代碼,驗證程序的正確性,有:條件測試,路徑測試,條件組合。。。。
白盒法用在程序開發階段的前期。
黑盒法:主要用於程序開發階段的後期,即程序的流程測試正確後,測試程序的結果。有什麼因果法,邊緣值法等。
具體你可以買本軟體工程方面的書看看。
還有一下方法:
功能測試:可接受性測試:用戶界面測試:探索或開放』型的測試:性能測試:回歸測試:強力測試:集成與兼容性測試:裝配/安裝/配置測試:國際化支持測試:本地化語言測試:
攻些都是測試的方法.
問題九:軟體測試有幾種方法?每種方法的特點是什麼 黑盒:不透明盒子
--所有的輸出結果都以界面的顯示為准
--不關心底層代碼(Java代碼的邏輯)
--手動測試 使用測試用例方法
灰盒:半透明盒子
--所有的輸出結果都以界面的顯示為准
--查看底層代碼 不修改
--自動化測試 使用自動化腳本
白盒:全透明盒子
--所有的輸出結果都以後台代碼為准
--必須查看且修改底層代碼
--必須有開發經驗(5年以上)
9. 軟體測試的方法有哪些
測試的有2種方法
答:黑盒測試和白盒測試
黑盒:這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。
黑盒測試又叫做功能測試或數據驅動測試。
白盒:此方法把測試對象看做一個透明的盒子,它允許測試人員利用程序內部的邏輯結構及皮歷有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。
通過在漏戚不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。
軟體測試按過程分為三個步驟
答:單元測試:單元測試又稱模塊測試,是針對軟體設計的最小單位—程序模塊,進行正確性檢驗的測試工作。其目的在於發現各模塊內部可能存在的各種差錯。
單元測試需要從程序的內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。
集成測試:在運行(可能是不完整)的應用中保證軟體單元被結合後能正常操作的測試執行的階段
系統測試:當應用作為整體運行時的測試執行階段
軟體測試的步驟是什麼?
1)測試過程按4個步驟進行,即單元測試(UnitTesting)、集成測試(IntegratedTesting)、確認測試(ValidationTesting)和系統測試(SystemTesting)及發版測試。
2)開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現了規定的功能。
3)集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟體體系結構的構造進行測試。
4)確認測試則是要檢查已實現的軟體是否滿足了需求規格說明中確定了的各種需求,以及軟體配置是否完全、正確。
應該考慮進行如何測試的測試方法
黑盒測試(Blackboxtesting)——不考慮內部設計和代碼,根據需求和功能進行測試。
白盒測試(Whiteboxtesting)——根據應用軟體的代碼的內部邏輯,按照代碼的語句、分支、路徑和條件進行測試。
功能測試(functionaltesting)——對一個應用軟體的功能模塊進行黑盒測試。這種測試應當由測試燃搜搜人員進行。但這並不意味著程序員在推出軟體之前不進行代碼檢查。(這一原則適用於所有的測試階段。)
系統測試——針對全部需求說明進行黑盒測試,包括系統中所有的部件。
回歸測試(regressiontesting)——每當軟體經過了整理、修改、或者其環境發生變化,都重復進行測試。很難說需要進行多少次回歸測試,特別是是到了開發周期的最後階段。進行此種測試,特別適於使用自動測試工具。
負荷試驗(loadtesting)——在大負荷條件下對應用軟體進行測試。例如測試一個網站在不同負荷情況下的狀況,以確定在什麼情況下系統響應速度下降或是出現故障。
壓力測試(stresstesting)——經常可以與「負荷測試」或「性能測試」相互代替。這種測試是用來檢查系統在下列條件下的情況:在非正常的巨大負荷下、某些動作和輸入大量重復、輸入大數、對資料庫進行非常復雜的查詢,等等。
性能測試(performancetesting)——經常可以與「壓力測試」或「負荷測試」相互代替。理想的「性能測試」(也包括其他任何類型的測試)都應在質量保障和測試計劃的文檔終予以規定。
可用性測試(usabilitytesting)——是專為「對用戶友好」的特性進行測試。這是一種主觀的感覺,取決於最終用戶或顧客。可以進行用戶會見、檢查、對用戶會議錄像、或者使用其他技術。程序員和測試人員通常不參加可用性測試。
安裝/卸載測試(install/uninstalltesting)——對安裝/卸載進行測試(包括全部、部分、升級操作)。
安全測試(securitytesting)——測試系統在應付非授權的內部/外部訪問、故意的損壞時的防護情況。這需要精密復雜的測試技術。
兼容性測試(compatabilitytesting)——測試在特殊的硬體/軟體/操作系統/網路環境下的軟體表現。
α測試(alphatesting)——在開發一個應用軟體即將完成時所進行的測試。此時還允許有較小的設計修改。通常由最終用戶或其他人進行這種測試,而不是由程序員和測試人員來進行。
β測試(betatesting)——當開發和測試已基本完成,需要在正式發行之前最後尋找毛病而進行的測試。通常由最終用戶或其他人進行這種測試,而不是由程序員和測試人員來進行。