多測師_測試理論_001


1.1 剛剛起步 

軟件測試現在在國外非常熱門,而在國內起步不久.根據中國商業的發展狀況來看,在一個領域還剛剛處於起步狀態的時候,就進入這個領域,是個不錯的選擇.任何東西等大紅大紫后再涉入,將是一個不明智的選擇. 
1.2 發展狀況 
       目前中國越來越多的重視軟件測試這一行業,而且,這一行業的人才缺口非常大(國內120萬軟件從業人員中,真正能擔當軟件測試職位的不超過5萬人,人才缺口達到20萬並有逐年擴大的趨勢).現在好多大型企業在招聘會中直接打出高薪聘請軟件測試工程師的條幅,可見其就業形勢還是蠻不錯的. 
1.3 薪資狀況 
我現在工作,深圳7k-月薪20k+(10-15居多).以下是網上找的資料,可供參考: 
以前起步月薪就在3000-5000元左右,遠高於同齡人7000-10000元的薪資水平,另外還可享受帶薪年假、內部培訓、住房公積金等福利待遇,工作2-3年月薪大約在8000-13000元之間,甚至超出很多相同服務年限的軟件開發人員的薪資水平。 

2.開發好還是測試好: 
2.1 首先要看你的專業素養,現在的就業狀況是,C++和C#找工作還可以,若是只會JAVA,除非你技術非常過硬,否則很難找到理想的工作.開發在國內已經處於飽和狀態,也就是所謂的已經大紅大紫了,這是再往里塞,就要有被塞扁的思想准備. 
2.2 若是你水平只是處於中等,那么建議你去做測試.國內開發的高級人才很多,跟他們競爭,無論是從實力還是經驗,都不如人家.而測試需要的是計算機知識廣泛,最好熟悉多種開發語言,這樣比較有前途
3.該如何前進 
3.1 首先要提高自己的英語水平,尤其是專業英語的水平,這樣等你有機會跟國外客戶直接溝通的時候比較方便. 
3.2 盡量拓寬自己的計算機方面的知識范圍,包括對網絡,數據庫等的學習. 
3.3 最好熟練掌握一門開發語言,對其他的開發語言也最好知道一些. 

(三)課程內容
q群發課件(一)講解送進入正題:
1.MBTI職業性格測試
MBTI是國際最為流行的職業人格評估工具,作為一種對個性的判斷和分析,是一個理論模型,從紛繁復雜的個性特征中,歸納提煉出4個關鍵要素——動力、信息收集、決策方式、生活方式,進行分析判斷,從而把不同個性的人區別開來。
 2.軟件測試拿一個杯具開來說:
(1)需求測試:制作杯子的使用說明書
客戶要實現的功能,開發去進行編寫的代碼的依據
公司中需求一般是產品經理負責()
 (2)界面測試:
外觀界面測試也稱為UI測試(設計)
測試用戶界面的功能模塊的布局是否合理、整體風格是否一致、各個控件的放置的位置是否符合客戶的使用習慣;此外還要測試界面操作便捷性、導航簡單易懂性,頁面元素的可用性,界面中文字是的正確,命名是否統一,頁面是否美觀,文字、圖片組合是否完美等等
(3)功能測試:
杯子是否漏水等,以及能否喝到里面的水
功能測試就是對產品(軟件)的各個功能進行驗證,驗證產品是否達到客戶的要求;
(4)安全性測試:
制作材料是否對人體有傷害
軟件安全性測試包括程序、網絡、數據庫安全性測試;
根據系統安全指標不同測試策略也不同
定義:安全性測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程;應用程序安全等級測試主要目的是查找軟件自身程序設計中存在安全隱患,並檢查應用程序對非法侵入的防范能力;
(5)可靠性測試:
杯子從高處落下的損壞程度
定義:可靠性測試就是為了評估產品在規定的壽命期間內,在預期的所有環境下,保持功能可靠性而進行的活動,來驗證其是否達到在研發、設計、制造中預期的質量目標,從而對產品整體進行評估,以確定產品可靠性壽命。(通過使用各種環境試驗設備模擬氣候環境中的高溫、低溫、高溫高濕以及溫度變化等情況,加速反應產品在使用環境中的狀況,來驗證其是否達到在研發、設計、制造中預期的質量目標,從而對產品整體進行評估,以確定產品可靠性壽命。)
(針對漏洞有相對應可靠的措施,在規定的時間內和范圍內完成規定的事情)
(6)可移植性測試:
在不同地方不同環境是否正常使用
軟件是否可以被移植到指定的硬件或者軟件平台上運行
由於計算機的硬件體系結構不同,因而導致在某一類型機器上開發的軟件不能在另一類計算機上運行,所有某一種語言開發環境 開發出來的程序,如果不用修改或者只修改極少量的代碼便能在其他類的計算機上運行,就是可移植性好。
(7)兼容性測試:
除了裝水外是否支持裝其它液體
兼容性測試是指協調性
指對所設計程序與硬件、軟件之間的兼容性的測試主要是平台兼容:Android、iOS 
瀏覽器的兼容:谷歌、IE(8910)、火狐、360瀏覽器
分辨率兼容性測試
面試題:谷歌瀏覽器和360瀏覽器有什么區別?
(8)易用性測試:
使用是否燙手等 (尼爾森十大定律)
易用性是指是否方便使用
易用性包含易理解性、易學習性和易操作性;
易用性是指在規定條件下使用時,軟件產品被理解、學習、使用和吸引用戶的能力。
(9)壓力測試:不斷對杯子施加重量
壓力測試是性能測試之一,軟件高負載測試;
臨界值()
壓力測試:也稱為破壞性測試,突破臨界值,看系統運行狀態
(1)負載測試:慢慢的接近我們的臨界值,看系統能承受的最大的值

舉例:測試一個空調,一個杯子,

(四)IT 常見基本術語
1、硬件:計算機的硬件是計算機系統中各種設備的總稱。計算機的硬件應包括5個基本部分,即運算器、控制器、存儲器、輸入設備、輸出設備。
 2、    軟件:當電腦啟動時軟件包括應用軟件(應用程序包)、系統軟件(操作系統,語言編譯解釋系統服務性程序)、
硬件和軟件的關系:互相依存, 無嚴格界限,協同發展
(雲服務器)
  3、 pc機
pc機是指個人電腦(超級計算機、小型機、大型機、工作站)
 4、 物理機
物理機是相對於虛擬機而言的對實體計算機的稱呼。物理機提供給虛擬機以硬件環境,有時也稱為“寄主”或“宿主”。
5、os (操作系統)
常見系統(windows,macos,linux,ios,andrioid)
功能:處理器管理、存儲器管理、設備管理、文件管理
特征:並發、共享、虛擬,異步
6、dos命令
(1)查看ip   打開方式win+r ;輸入cmd ;  查看ip地址:ipconfig  (ipv4:ip地址,mac地址 )
 (2)dir   、cd  、 ping、 net stop  、net user、 netstat  、  
網絡共享:信息交流,資源共享
備份:數據備份,存儲下來
路徑:從起點到終點的全程路由;(日常生活中的道路)
服務器:與普通電腦結構差不多,(x86,非x86)
7、BS架構與CS架構
(1)、b/s  瀏覽器端-----服務端   (web)
     c/s    客戶端    -----服務端    (app)
B:browser 瀏覽器   
S:server 服務器
C:client 客戶端
B/S:(豆瓣,天涯,知乎)
c/S:(抖音App和微信App)
(2)區別:bs不需要更新,下載客戶端,直接通過瀏覽器輸入網址進行訪問;
                  cs 需要下載客戶端才能使用,需要定期更新
(3)bs 架構對服務器性能要求高
      cs 架構客戶端能替
服務端分攤部分的性能壓力
(4)bs 不會占用存儲內存
      cs會占用的存儲的內存
優缺點:cs     優: 手機攜帶方便,操作簡單,上傳下載的速度相對較快,安全性高
                          缺:需要安裝升級app,服務器相對比較難維護
                bs      優:不需要安裝直接訪問網頁,服務器好維護,信息量比較大,資料比較多
                          缺:安全性不高,信息容易泄露,容易病毒
8、單機軟件與共享軟件app;
共享軟件:一般的功能是不收費,但是部分功能是收費的
開源軟件:一般是不收費的
商業軟件:都是需要收費的,把軟件當做一個商品去交易
APP application  應用程序
9、人員架構:
CEO 首席執行官
CTO 首席技術官
PM  項目經理(管理項目,負責項目的進展,項目的安排;開發一款軟件,一個系統,直到系統可以正常的上線)
產品經理
負責公司的產品,了解客戶需求,把客戶需求整理提供給開發和測試

開發經理
管理開發人員,安排開發任務

開發  程序員  de
UI設計工程師, 畫原型圖
前端開發  頁面布局,前端的代碼,html
后端開發  負責代碼邏輯, Java c++

測試經理 TPM 
管理測試人員,安排測試任務

測試主管  TL
測試組長
軟件測試工程師  TE  一般都叫測試
主要任務編寫測試用例,執行測試用例
測試用例:描述需要驗證的功能點,顯示操作的步驟,已知預期的結果
pm 項目經理
產品經理
開發經理
de 開發

    
測試 我們自己  te
tpm  測試經理
ba  需求分析
db:表示數據庫
dba:數據庫管理員
cmo:運維,環境部署
為什么要測試? 
• 1.軟件的非正常運行或其自身的缺陷(BUG)會 引發很多問題。
 
• 2.軟件是由代碼和文檔組成的,而這些都是由 “人”來設計和編寫的,人都有可能犯錯。
 
• 3.環境也會影響軟件,以致出現軟件“失效”現 象。

• 4. 軟件測試活動只是關鍵的質量保證活動之一

1.軟件測試是什么?(software  testing)
 軟件測試廣義是(描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程);
 經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程;
概括性的說:
a、“以檢驗產品是否滿足需求為目標”
b、(1)驗證軟件的正確性;2:發現軟件中的缺陷
     (2)軟件測試從杯具
 什么是測試?

• 制造業的定義: “以檢驗產品是否滿足需求為目標” 

• 軟件行業的定義,有多種說法: 

a:驗證軟件的正確性; 
b:發現軟件中的缺陷
什么是測試?

• 制造業的定義: “以檢驗產品是否滿足需求為目標” 

• 軟件行業的定義,有多種說法: 

a:驗證軟件的正確性; 
b:發現軟件中的缺陷

軟件生命周期概念? 
• 軟件生命周期別稱:軟件生存周期或軟件開發生
  命周期 
• --指的是軟件從產生到報廢的整個過程,是一種
  時間的概念。
 
• 例:舉一個生活的例子:一部手機的壽命··

10、v模型
概要設計:簡稱HLD  是一個文檔
概要設計文檔中主要的內容有哪些?
架構的初步設計文檔,使用說明類型的數據庫;架構的描述,設計,模塊的名稱
(理解為要蓋一棟房子,文檔里面記錄着房子的大概的設計規格)

詳細設計:簡稱LLD   也是一個文檔
詳細設計主要的內容有哪些?
針對功能具體的實現文檔,模塊功能的具體實現,具體的設計,架構的具體描述
(房子的具體裝飾設計)
重點:四個階段
1、什么是單元測試 UT unit test   (簡稱叫白盒測試 --開發自測)
單元測試是指驗證軟件單元是否滿足詳細文檔的規格,能正常執行;主要是對代碼進行測試;
單元測試是最小的測試單位;
    在工作中,單元測試一般都是開發自測;如果測試要進行單元測試,對測試的技術要求非常高,你必須要懂開發語言
2、什么是集成測試 IT ()
集成測試是指多個單元組合驗證軟件是否滿足概要設計文檔的規格,能正常執行;主要測試的是模塊與模塊之間數據的交付;我們也叫做接口測試。
3、什么是系統測試? ST
系統測試是指把軟件進行正常的運行,對整個系統進行測試,驗證這個系統能正常的運行;主要測試的是一個整體,業務的流程。
 4、什么是驗收測試  UAT
驗收測試是指:站在用戶的角度對系統進行測試,驗證系統滿足用戶需求。
驗收測試分alpha和beta測試
如果公司驗收需要經過α測試和β測試,都是先α(內部測試)測試然后再β(客戶方測試)測試

alpha和beta區別(重點)
1、α測試地點是在公司;β測試地點一般都是客戶方
2、α測試都是內部人員進行測試,開發在現場,發現問題及時解決;
3、β測試都是客戶方的員工測試,發現問題后統一反饋給開發
4、alpha測試時間比較短,測試人員比較集中;beta測試時間較長,測試人員不集中


H模型
測試計划 也是一個文檔;也需求評審
測試計划一般都是測試經理或者測試骨干去編寫
測試計划中主要的內容:告訴我們這次項目周期,有哪些人參與,每個測試人員負責的模塊。

測試用例  是一個Excel文件
一條測試用例代表着你的一個的測試功能點
例如:
    驗證淘寶首頁搜索功能,能夠正常的搜索商品

用例評審 召開一個會議(一般都是測試人員去召開)
在會議中,主要是產品經理和測試組所有人員(開發人員);產品經理去看我們寫的測試用例是否正確(描述上、邏輯上、預期結果上);簡單來說就是開會來驗證我們寫的測試用例是否正確
 
  交叉評審和組內評審 (一般都會評審1-2輪)
  組內評審:產品和開發以及測試所有人員
  交叉評審:甲的用例給乙,乙的用例個丙,丙的用例給甲
 
  評審通過后會輸入我們的基線化測試用例,然后把用例導入到禪道(用例管理工具),進行用例的分配,分配的原則是哪個寫的分配給哪個

環境搭建  (一般都是測試經理或者測試骨干去搭建)
准備一套測試人員進行測試的時候使用的一套環境

開發環境 dev
提供一個開發人員進行編碼調試的一個環境

測試環境 sit
測試人員進行驗證軟件是否可以正常使用的一個環境

驗收環境/預生產環境  uat
給公司領導或者客戶方去驗收的一個環境

生產環境/線上環境/真實環境
最終測試通過之后,對外客戶使用的環境


提交版本,也叫做版本包?
所有的代碼進行打包,然后放到一個文件中
一般在公司提供都是
war包  xxx.war
jar包  xxx.jar

轉測/提測
開發人員把版本包(項目包)給到測試人員,叫做轉測或者提測
項目包部署
把開發提供的項目包部署到我們之前搭建的環境中

什么是冒煙測試?(重點) 
一般冒煙測試不會超過半天(2個小時)
每一次開發提交心感動轉測版本/提測版本,測試都需要在測試環境上進行冒煙測試;
冒煙測試定義:是對新版本的主要功能,基本功能進行測試,如果通過,那么冒煙測試通過;測試失敗,也就是冒煙測試失敗,失敗就版本打回給開發進行修改。

冒煙測試又稱為版本驗證測試、提交測試
冒煙測試通過之后才能進入到系統集成測試(sit1)

回歸測試:系統維護階段,對原有的功能、bug再次進行驗證測試,我們稱為回歸測試

冒煙測試和回歸測試的區別?
二者測試階段不同,冒煙測試是在版本提交時進行的第一個測試;回歸測試是在系統維護階段進行的驗證測試。
除了sit1(第一輪系統集成測試外,其他的系統集成測試都可以叫做回歸測試)
sit測試也就是系統集成測試 (一般會測試3-4輪)
sit1(站在測試用例的角度:全量測試):執行全部測試用例
  注意點:
  1)bug(缺陷)級別:致命、嚴重、一般、建議(提示)
  提bug我們也叫做提單:發現一個bug要及時提交一個
  2)所有用例執行完后,我們需要及時的補充測用例

sit2我們也叫做回歸測試(站在用例的角度:(增量測試):
  1)、也要進行冒煙測試(每一輪都要進行冒煙測試)
  2)、驗證上次版本提交的bug
  3)、測試和bug相關聯的模塊
  4)、測試你認為可疑的測試用例或者是測試場景
  5)、測試補充的測試用例或者測試場景
敏捷開發模型:
概念:新型軟件開發方法,是一種應對快速變化的需求的一種軟件開發能力。
敏捷軟件開發描述了一套軟件開發的價值和原則,在這些開發中,需求和解決方案皆通過自組織跨功能團隊達成。敏捷軟件開發主張適度的計划、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支援許多軟件開發方法的定義和持續進化。
四條原則:
遞增、避免不必要的開銷、協作、說真話

迭代式開發:
迭代式開發也被稱作迭代增量式開發或迭代進化式開發,是一種與傳統的瀑布式開發相反的軟件開發過程,它彌補了傳統開發方式中的一些弱點,具有更高的成功率和生產率。
 迭代一般指某版本的生產過程,包括從需求分析到測試完成; 版本一般指某階段軟件開發的結果,一個可交付使用的產品。 [1] 
優點
1.降低風險
2.得到早期用戶反饋
3.持續的測試和集成
4.使用變更
5.提高復用性
開發特征
1.在進行大規模的投資之前就解決了關鍵的風險分析。
2.使得早期的用戶反饋在初始迭代中就能出現。
3.對各個目標里程碑提供了短期的焦點(階段性的中心)。
4.對過程的測量是通過對實現的評定(而不僅僅是文檔)來進行的。
5.可以對局部的實現進行部署。

螺旋開發:
適合於大型復雜的系統
螺旋模型是一種演化軟件開發過程模型,它兼顧了快速原型的迭代的特征以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟件應用。
補充資料:
雲服務器:(cloud server)是一種簡單、高效、安全可靠、處理能力可彈性伸縮的計算服務。其管理方式比物理服務器更簡單高效。
特點:穩定、安全、高效
支持:電子商務、論壇、sns、企業網站、OA系統
產品:騰訊雲、華為雲、百度雲、阿里雲、億恩雲、西部數碼、景安雲、青雲、小鳥雲、盛大雲、
雲計算
大數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM