軟件測試?yán)碚?/h1>

OSI7層模型

image.png

TCP/IP五層模型

image.png

OSI7層模型的特點

  1. 下層為上層提供服務(wù)
  2. 同層次之間使用相同的協(xié)議

應(yīng)用層有哪些協(xié)議?

http、https

傳輸層有哪些協(xié)議?

TCP、UDP

TCP與UDP的區(qū)別與聯(lián)系

面向連接的服務(wù)(TCP)

  1. 先建立連接再傳輸數(shù)據(jù)
  2. 數(shù)據(jù)傳輸過程中,數(shù)據(jù)包不需要攜帶目的地址
  3. 保證數(shù)據(jù)傳輸?shù)目煽啃?/li>

無連接的服務(wù)(UDP)

  1. 不需要事先建立連接,直接發(fā)送數(shù)據(jù)
  2. 每個報文都帶有完整的目的地址
  3. 不保證報文傳輸?shù)目煽啃?/li>

TCP如何建立連接

通過三次握手建立連接
A 發(fā)送連接請求 B
B 回復(fù)確認(rèn)連接 A
A 收到回復(fù)后,建立連接 B

啟動/關(guān)閉/ tomcat服務(wù)

'''cd 到tomcat目錄下的bin目錄'''
./startup.sh #啟動tomcat服務(wù)
./shutdown.sh #關(guān)閉tomcat服務(wù)

'''使用catalina.sh同樣也可以啟動或者關(guān)閉tomcat服務(wù)'''
'''cd 到tomcat目錄下的bin目錄'''
./catalina.sh stop #關(guān)閉tomcat服務(wù)
./catalina.sh start #啟動tomcat服務(wù)

bin用來存放tomcat的命令的地方
webapps用來存放軟件包的目錄

啟動/關(guān)閉/重啟 http服務(wù)

service httpd start
service httpd stop
service httpd restart

啟動/關(guān)閉/重啟 mysql服務(wù)

service mysqld start
service mysqld stop
service mysqld restart

B/S架構(gòu)和C/S架構(gòu)

  1. B/S架構(gòu)需要重點考慮系統(tǒng)在不同的瀏覽器中的兼容性問題(瀏覽器的內(nèi)核不同)
  2. C/S 架構(gòu)需要考慮系統(tǒng)在不同平臺的安裝、卸載、升級

HTTP協(xié)議

HTTP協(xié)議,超文本傳輸協(xié)議,應(yīng)用層協(xié)議,由請求響應(yīng)構(gòu)成

常見的請求方式(get,post)

post請求與get請求的區(qū)別

  1. get請求,發(fā)送的數(shù)據(jù)跟隨網(wǎng)址(URL),一起傳輸。
  2. post請求,發(fā)送的數(shù)據(jù),在請求體里單獨傳輸。

Cookie和Session的區(qū)別與聯(lián)系

  1. cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
  2. cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙考慮到安全應(yīng)當(dāng)使用session。
  3. session會在一定時間內(nèi)保存在服務(wù)器上,當(dāng)訪問增多,會比較占用你服務(wù)器的資源。

HTTP狀態(tài)碼

狀態(tài)碼 含義
200 ok
301 永久移動
302 臨時移動
404 找不到資源
500 服務(wù)器內(nèi)部錯誤

常見默認(rèn)端口

軟件 默認(rèn)端口
oracle 1521
mysql 3306
http 80
https 443
tomcat 8080
ssh 22
ftp 21

瀑布模型

image.png

V模型

image.png

軟件測試流程/生命周期

測試需求分析
測試需求評審
編寫測試計劃
設(shè)計測試用例
測試用例評審
搭建測試環(huán)境
測試執(zhí)行
回歸測試
測試報告

軟件測試的定義

在規(guī)定的條件下對程序進(jìn)行操作,以發(fā)現(xiàn)程序的錯誤,并對軟件質(zhì)量進(jìn)行評估。

測試的目的

不僅僅是為了發(fā)現(xiàn)軟件缺陷與錯誤,而且也是對軟件質(zhì)量進(jìn)行度量和評估,以提高軟件的質(zhì)量。

軟件測試原則

所有的軟件測試都應(yīng)追溯到用戶需求。
應(yīng)當(dāng)盡早地和不斷地進(jìn)行軟件測試。
完全測試是不可能的,測試需要終止。
充分注意測試中的群集現(xiàn)象。
程序員應(yīng)避免檢查自己的程序。
盡量避免測試的隨意性

軟件測試風(fēng)險

進(jìn)度風(fēng)險、質(zhì)量風(fēng)險、人員風(fēng)險、需求變更、成本風(fēng)險等

按階段劃分

單元測試
集成測試
系統(tǒng)測試
驗收測試

單元測試關(guān)注點

對軟件中的最小可測試單元進(jìn)行檢查和驗證

集成測試關(guān)注點

在把各個模塊連接起來時,穿越模塊接口的數(shù)據(jù)是否會丟失

集成測試級別

  1. 子系統(tǒng)間的數(shù)據(jù)集成測試。
  2. 不同系統(tǒng)間的數(shù)據(jù)集成測試。

什么是系統(tǒng)測試

系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進(jìn)行的測試

系統(tǒng)測試的范圍

功能測試、用戶體驗測試、性能測試、UI測試、兼容性測試、安裝測試、文檔測試、穩(wěn)定性測試等

驗收測試

主要確認(rèn)軟件是否滿足軟件需求規(guī)格說明書中的要求。

alpha測試、beta測試的區(qū)別

alpha測試:公司內(nèi)部員工組織的測試
beta測試:由典型客戶進(jìn)行的測試

白盒測試、黑盒測試、灰盒測試

白盒:對程序內(nèi)部結(jié)構(gòu)和算法進(jìn)行測試
黑盒:在完全不考慮程序內(nèi)部邏輯的情況下,檢查程序是否滿足用戶需求
灰盒:關(guān)注系統(tǒng)接口所實現(xiàn)的功能,是否和需求一致

回歸測試

全量回歸:對軟件的新版本測試時,重復(fù)執(zhí)行上一個版本測試時使用的測試用例,防止出現(xiàn)以前應(yīng)用沒有的問題現(xiàn)在出問題了
部分回歸:當(dāng)在測試過程中,發(fā)現(xiàn)某個模塊存在缺陷,開發(fā)修復(fù)后,測試人員重新驗證該缺陷是否被修復(fù),以及驗證相關(guān)聯(lián)的模塊是否受影響

冒煙測試/預(yù)測試

目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作

質(zhì)量六大特性

image.png

需求分析的目的

澄清需求,提取測試點

需求評審的目的

  1. 完整性審查
  2. 準(zhǔn)確性審查

需求評審那些人會參與

開發(fā)人員、開發(fā)經(jīng)理、測試人員、測試經(jīng)理、產(chǎn)品經(jīng)理

測試計劃的目的/為什么要編寫測試計劃

為了規(guī)范軟件測試內(nèi)容、方法和過程,在對軟件進(jìn)行測試之前,必須創(chuàng)建測試計劃。

什么時間開始編寫測試計劃?

需求分析后編寫測試計劃,在整個測試工作過程中,不斷修改

由誰來編寫測試計劃

一般來說都是測試經(jīng)理、測試組長來編寫,經(jīng)驗豐富的測試人員

測試的結(jié)束條件

需求覆蓋率、用例執(zhí)行率、缺陷遺留率達(dá)到預(yù)定質(zhì)量目標(biāo)。

測試計劃的內(nèi)容

測試項目的背景、測試范圍、測試方式/策略、測試資源、測試開始和結(jié)束條件、進(jìn)度安排、測試組織,以及與測試有關(guān)的風(fēng)險方面

常見web服務(wù)器

apache、tomcat、nginx、weblogic

常見DB服務(wù)器

mysql、oracle

常見編程語言

Java、PHP、Python

常見linux系統(tǒng)

redhat、centos、ubuntu、aix

測試用例的要素/元素

用例編號/id,用例標(biāo)題,用例的級別,預(yù)置條件,操作步驟,預(yù)期結(jié)果,實際結(jié)果

如何劃分/確定用例的級別

  1. 依據(jù)用戶使用該場景的頻率
  2. 該功能對系統(tǒng)的影響程度來確定

寫好測試用例的關(guān)鍵 /寫好用例要關(guān)注的維度

  1. 覆蓋用戶的需求;
  2. 考慮用戶的各種正常和異常的使用場景;
  3. 用例的顆粒大小要均勻。通常,一個測試用例對應(yīng)一個場景;
  4. 用例各個要素要齊全,步驟應(yīng)該足夠詳細(xì),操作應(yīng)該明確,容易被其它測試工程師讀懂,并能順利執(zhí)行;
  5. 做好用例評審,及時更新測試用例

測試用例的狀態(tài)

  1. No Test未執(zhí)行狀態(tài)
  2. Pass通過狀態(tài)
  3. Fail失敗狀態(tài)
  4. Block阻礙狀態(tài)。
  5. Investigate觀察中狀態(tài)。

測試環(huán)境怎么搭建的?

參考答案:搭建環(huán)境前,開發(fā)都會給到我們一份系統(tǒng)發(fā)布手冊,我們會根據(jù)這個手冊來搭建。比如,我這個xx系統(tǒng),是搭建在Unix系統(tǒng)下的,web服務(wù)器用的是Tomcat8,MySQL版本是5.7,程序是JAVA編寫的,首先我們向開發(fā)拿到編譯好的安裝包,然后用xshell(或CRT)遠(yuǎn)程連接上Unix系統(tǒng),把tomcat服務(wù)器停掉,把程序包放到webapps目錄下,然后再啟動tomcat服務(wù)器就可以了。

偶然性問題的處理

  1. 確定是偶然性的bug之后,收集相關(guān)的日志,連同截圖一起提單給開發(fā)定位;
  2. 如果沒有日志記錄,缺陷在當(dāng)前版本無法復(fù)現(xiàn),且缺陷的影響程度比較低,可以提交問題單進(jìn)行跟蹤,跟蹤三個版本,如果后三個版本都無法復(fù)現(xiàn),就可以關(guān)閉該缺陷;
  3. 如果這些不可復(fù)現(xiàn)的Bug是很嚴(yán)重的Bug,比如導(dǎo)致系統(tǒng)崩潰等,并且,實在沒有再次出現(xiàn),除了要及時反饋給上級之外,最后還要寫到測試報告中,說明出現(xiàn)了什么現(xiàn)象,但無法再現(xiàn)!

當(dāng)我們認(rèn)為某個地方是bug,但開發(fā)認(rèn)為不是bug,怎么處理?

  1. 先跟開發(fā)溝通,確認(rèn)系統(tǒng)的實際結(jié)果是不是和需求有不一致的地方;有些地方可能需求沒提及,但是用戶體檢不好,我們也可以認(rèn)為是bug。
  2. 如果開發(fā)以不影響用戶使用為理由,拒絕修改,我們可以和產(chǎn)品經(jīng)理,測試經(jīng)理等人員進(jìn)行討論,確定是否要修改,如果大家都一致認(rèn)為不用改,就不改。

產(chǎn)品在上線后用戶發(fā)現(xiàn)bug,這時測試人員應(yīng)做哪些工作?

  1. 測試人員復(fù)現(xiàn)問題后,提交問題單進(jìn)行跟蹤;
  2. 評估該問題的嚴(yán)重程度,以及修復(fù)問題時的影響范圍,回歸測試需要測試哪些功能;
  3. 問題修復(fù)后,先在測試環(huán)境上回歸,通過后再在生產(chǎn)環(huán)境上打補丁,然后再進(jìn)行回歸測試;
  4. 總結(jié)經(jīng)驗,分析問題發(fā)生的原因,避免下次出現(xiàn)同樣問題。

二八定理:80%的缺陷出現(xiàn)在 20%的模塊。

bug的等級

致命,嚴(yán)重,一般,輕微

缺陷的狀態(tài)

激活,確認(rèn),已解決,關(guān)閉

如何跟蹤缺陷

當(dāng)發(fā)現(xiàn)缺陷后,我們要在禪道上提交問題單給開發(fā),并每隔一段時間(間隔一個小時,或兩個小時都可以)去檢查缺陷是否被處理,如果沒及時處理,就要提示開發(fā),讓開發(fā)及時修復(fù)問題,問題修復(fù)后,要及時進(jìn)行回歸測試。

缺陷單應(yīng)該包含這些要素

缺陷標(biāo)題,嚴(yán)重級別,問題所屬模塊,復(fù)現(xiàn)步驟,預(yù)期結(jié)果,實際結(jié)果,有關(guān)的日志和截圖。

測試報告的主要內(nèi)容

數(shù)據(jù)統(tǒng)計
遺留bug情況
測試風(fēng)險
測試對象評估
測試結(jié)論

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,106評論 2 375