軟件測試高頻考題

1. 軟件測試的目的與原則是什么?

目的

  1. 通過測試工作可以發(fā)現(xiàn)并修復(fù)軟件當(dāng)中存在的缺陷;
  2. 可以降低同產(chǎn)品開發(fā)遇到的風(fēng)險(xiǎn);
  3. 記錄軟件運(yùn)行過程中的一些數(shù)據(jù),從而為決策者提供技術(shù)支持。

原則:

  1. 缺陷集群性,2/8定律:核心功能占20%,非核心占80%,我們會(huì)集中測試20%的核心功能,發(fā)現(xiàn)缺陷的幾率會(huì)高于80%,因此,遇到的缺陷都會(huì)集中20%功能模塊里。
  2. 窮盡測試是不可能的:有些功能是無法將所有測試情況邏輯出來的,任何的測試都有結(jié)束的時(shí)間。
  3. 測試需要盡早介入:為了更好地發(fā)現(xiàn)和解決軟件中的缺陷。
  4. 殺蟲劑悖倫:同樣的一個(gè)測試用例不能重復(fù)執(zhí)行多次,不然軟件會(huì)對它產(chǎn)生免疫
  5. 測試顯示軟件存在缺陷
  6. 測試活動(dòng)依賴于測試內(nèi)容:某些測試需要依賴于特殊的環(huán)境
  7. 沒有錯(cuò)誤是好是謬論:任何軟件都不可能是完美的

2. 測試人員在測試中的任務(wù)是什么?

  1. 盡早的找出系統(tǒng)當(dāng)中的Bug
  2. 避免軟件開發(fā)過程中缺陷的出現(xiàn)
  3. 確保缺件的質(zhì)量
  4. 關(guān)注用戶的需求,并保證系統(tǒng)符合用戶需求

3. 缺陷報(bào)告內(nèi)容包括什么?

  1. Bug的優(yōu)先級(jí)
  2. Bug的嚴(yán)重程度
  3. 開發(fā)的接口人員,與Bug產(chǎn)生對應(yīng)的軟件版本
  4. Bug可能屬于的模塊。如果不能確認(rèn),可以由開發(fā)人員來判讀
  5. Bug標(biāo)題,需要清晰的描述現(xiàn)象
  6. Bug描述,需要盡量給出新的Bug步驟
  7. Bug附件中能給出相關(guān)的日志與截圖

4. 請您描述一下測試的V模型?

用戶需求-需求分析-概要設(shè)計(jì)-詳細(xì)設(shè)計(jì)-編碼-單元測試-集成測試-系統(tǒng)測試-驗(yàn)收測試

1

5. 性能測試關(guān)注的指標(biāo)是什么?

  1. 用戶數(shù)
    ①注冊用戶數(shù)
    注冊用戶數(shù)指軟件中已經(jīng)注冊的用戶,這些用戶是系統(tǒng)的潛在用戶,隨時(shí)都有可能上線。這個(gè)指標(biāo)的意義在于讓測試工程師了解系統(tǒng)數(shù)據(jù)中的數(shù)據(jù)總量和系統(tǒng)最大可能有多少用戶同時(shí)在線。
    ②在線用戶數(shù)
    在線用戶數(shù)是指某一時(shí)刻已經(jīng)登錄系統(tǒng)的用戶數(shù)量。在線用戶數(shù)只是統(tǒng)計(jì)了登錄系統(tǒng)的用戶數(shù)量,這些用戶不一定都對系統(tǒng)進(jìn)行操作,對服務(wù)器產(chǎn)生壓力。
    ③并發(fā)用戶數(shù)
    不同于在線用戶數(shù),并發(fā)用戶數(shù)是指某一時(shí)刻向服務(wù)器發(fā)送請求的在線用戶數(shù),他是衡量服務(wù)器并發(fā)容量和同步協(xié)調(diào)能力的重要指標(biāo),從這個(gè)含義上講,我們可能會(huì)如下兩種理解:
    同一時(shí)刻向服務(wù)器發(fā)送相同或者不同請求的用戶數(shù),也就是說,既可以包括對某一業(yè)務(wù)的相同請求,也可以包括對多個(gè)業(yè)務(wù)的不同請求
    同一時(shí)刻向服務(wù)器發(fā)送相同請求的用戶數(shù),僅限于某一業(yè)務(wù)的相同請求
  2. 事務(wù)的響應(yīng)時(shí)間
    事務(wù)是指用戶在客戶端做一種或多種業(yè)務(wù)所做的操作集,事務(wù)的響應(yīng)時(shí)間就是衡量用戶執(zhí)行這些操作集所花費(fèi)的時(shí)間。在性能測試中,一般通過計(jì)算事務(wù)的開始時(shí)間和結(jié)束時(shí)間的差值來獲取事務(wù)的響應(yīng)時(shí)間。
    一個(gè)事務(wù)表示一個(gè)“從用戶發(fā)送請求->web server接受到請求,進(jìn)行處理-> web server向DB獲取數(shù)據(jù)->生成用戶的object(頁面),返回給用戶”的過程,一般的響應(yīng)時(shí)間都是針對事務(wù)而言的。
  3. 每秒點(diǎn)擊數(shù)
    每秒點(diǎn)擊數(shù)是指每秒鐘像web服務(wù)器提交的HTTP請求數(shù),它是衡量服務(wù)器處理能力的一個(gè)常用指標(biāo)。需要注意的是,這里的相應(yīng)時(shí)間并非鼠標(biāo)的一次單擊操作,因?yàn)樵谝淮螁螕舨僮髦?,客戶端可能向服?wù)器發(fā)出多個(gè)HTTP請求,切勿混淆。
  4. 吞吐率
    吞吐率通常指單位時(shí)間內(nèi)從服務(wù)器返回的字節(jié)數(shù),也可以單位時(shí)間內(nèi)客戶提交的請求數(shù)。吞吐率是大型web系統(tǒng)衡量自身負(fù)載能力的一個(gè)重要指標(biāo),一般來說,吞吐率越大,單位時(shí)間內(nèi)處理的數(shù)據(jù)就越多,系統(tǒng)的負(fù)載能力也強(qiáng)。吞吐率與很多因素有關(guān),服務(wù)器的硬件配置,網(wǎng)絡(luò)的寬帶及拓?fù)浣Y(jié)構(gòu),軟件的技術(shù)架構(gòu)等。
  5. 業(yè)務(wù)成功率
    指多用戶對某一業(yè)務(wù)發(fā)起操作的成功率。例如,測試網(wǎng)絡(luò)訂票系統(tǒng)的并發(fā)處理性能,在早上8:00——8:30半小時(shí)的高峰里,要求能支持10萬比訂票業(yè)務(wù),其中成功率不少于98%。也就是說系統(tǒng)允許200筆訂票業(yè)務(wù)超時(shí)或者因其他原因?qū)е挛茨苡喥背晒Α?/li>
  6. TPS - 吞吐量
    TPS表示服務(wù)器每秒處理的事務(wù)數(shù),他是衡量系統(tǒng)處理能力的一個(gè)非常重要的指標(biāo),在性能測試中,通過檢測不同用戶的TPS,可以估算出系統(tǒng)處理能力的拐點(diǎn)。
  7. 資源利用率
    資源利用率就是指資源的使用情況
    CPU使用率70%—80%,內(nèi)存使用率80%以下
    網(wǎng)絡(luò)帶寬利用率 100Mbps=12.5MB/s
  8. QPS - 查詢率
    QPS:每秒查詢率,因特網(wǎng)上經(jīng)常用每秒查詢率來衡量域名系統(tǒng)服務(wù)器的機(jī)器的能。
    對應(yīng)請求數(shù)/sec,即每秒的響應(yīng)請求數(shù),也即是最大吞吐能力。
  9. 錯(cuò)誤率:一批請求中結(jié)果出錯(cuò)的請求所占比例。

6. Bug不能復(fù)現(xiàn)怎么辦?

  1. 首先考慮環(huán)境問題,看是否能夠還原原來的環(huán)境
  2. 遇到問題就要提,不能放過任何一個(gè)Bug,在提交的Bug描述中加上一句話,那就是復(fù)現(xiàn)概率,嘗試20次,出現(xiàn)一次或嘗試10次,交給開發(fā),開發(fā)會(huì)根據(jù)Bug的復(fù)現(xiàn)概率,調(diào)整改Bug的優(yōu)先級(jí)。
  3. 盡量回想發(fā)生問題時(shí)的復(fù)現(xiàn)步驟,不要漏掉任何一個(gè)細(xì)節(jié),按照步驟的組合嘗試復(fù)現(xiàn)
  4. 與開發(fā)人員配合,讓開發(fā)人員對相應(yīng)的代碼檢查,看是否通過代碼層面檢查出問題。

7. 什么是Http協(xié)議,請求方法是什么?Http協(xié)議與Https協(xié)議的區(qū)別?

  1. Http協(xié)議:又叫超文本傳輸協(xié)議,是定義了一個(gè)客戶端到服務(wù)器請求與應(yīng)答的標(biāo)準(zhǔn)。
  2. 請求方法:get、post、head、delete、put、peach
  3. HTTPS協(xié)議:以安全為目標(biāo)的HTTP通道,簡稱Http的安全版。
  4. HTTPS與HTTP的區(qū)別:
    A. http協(xié)議需要ca申請證書,一般免費(fèi)證書較少,需要一定費(fèi)用。
    B. http的鏈接簡單,是無狀態(tài)的,而https協(xié)議是由SSL+http協(xié)議構(gòu)建的可進(jìn)行加密傳輸,身份認(rèn)證的網(wǎng)絡(luò)協(xié)議要比HTTP協(xié)議安全。
    C. http協(xié)議是超文本協(xié)議,又叫明碼傳輸,而https是具有安全性的SSL加密傳輸協(xié)。
    D. http協(xié)議與HTTps協(xié)議使用的鏈接方式不同,一個(gè)用的端口是80(http),一個(gè)是443(https)。

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

  1. Get是不安全的,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請求的URL中;Post的所有操作對用戶來說都是不可見的。
  2. Get傳送的數(shù)據(jù)量較小,這主要是因?yàn)槭躑RL長度限制;Post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。
  3. Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個(gè)ISO10646字符集。
  4. Get執(zhí)行效率卻比Post方法好。Get是form提交的默認(rèn)方法。

9. 列表與元組的異同點(diǎn)

  • 相同點(diǎn)

    • 都是序列
    • 都可以存儲(chǔ)任何數(shù)據(jù)類型
    • 可以通過索引訪問
  • 不同點(diǎn)

    • 語法差異:列表使用[]創(chuàng)建,元組使用()創(chuàng)建
    • 是否可變:列表是可變的,而元組是不可變的,這標(biāo)志著兩者之間的關(guān)鍵差異??梢孕薷牧斜淼闹?,但是不修改元組的值。
    • 重用與拷貝:元組無法復(fù)制。 原因是元組是不可變的。
    • 大小差異:Python將低開銷的較大的塊分配給元組,因?yàn)樗鼈兪遣豢勺兊摹?對于列表則分配小內(nèi)存塊。 與列表相比,元組的內(nèi)存更小。 當(dāng)你擁有大量元素時(shí),元組比列表快。列表的長度是可變的。
    • 同構(gòu)與異構(gòu):習(xí)慣上元組多用于用于存儲(chǔ)異構(gòu)元素,異構(gòu)元素即不同數(shù)據(jù)類型的元素,比如(ip,port)。列表用于存儲(chǔ)同構(gòu)元素,這些元素屬于相同類型的元素,比如[int1,in2,in3]。

10. APP測試與Web測試的區(qū)別?

  • 相同點(diǎn):
    同樣的測試用例方法相同。
    同樣的測試方法:都會(huì)依據(jù)原型圖或效果圖來檢查UI。
    測試應(yīng)用系統(tǒng)的穩(wěn)定性。
  • 不同點(diǎn):
    1. app測試平臺(tái):百度云測,testin云測不同。
    2. App的安裝卸載:全新安裝,升級(jí)安裝,第三方工具安裝,第三方工具卸載,直接卸載刪除,消息推送測試,手機(jī)授權(quán)測試,前后臺(tái)切換,網(wǎng)絡(luò)環(huán)境(wifi/2G/3G/4G/無網(wǎng)絡(luò))。
    3. App的中斷測試:來電中斷,短信中斷,藍(lán)牙,鬧鐘,拔插數(shù)據(jù)線,手機(jī)鎖定,手機(jī)斷電,手機(jī)問題(系統(tǒng)死機(jī)重啟)。
    4. 兼容性測試:Web項(xiàng)目考慮不同瀏覽器的兼容,app需要考慮手機(jī)不同的操作系統(tǒng),不同機(jī)型,不同屏幕等。
    5. 網(wǎng)路測試:不同網(wǎng)絡(luò)與運(yùn)營商,目前我國有三大運(yùn)營商如:電信,移動(dòng),聯(lián)通,不同的網(wǎng)絡(luò)制式,如:GSM,CDMA,3G等,在不好或無網(wǎng)絡(luò)的情況下的APP行為。
    6. 操作系統(tǒng):大量的設(shè)備,各種的操作系統(tǒng),目前使用最多的操作系統(tǒng)有:Android,ios,windows,blackberry等,它們之間的應(yīng)用軟件互不兼容。如設(shè)備不同:觸摸式與非觸摸式設(shè)備,有限的內(nèi)存容量,電池耗電量,屏幕尺寸,分辨率等。

11. BS/CS架構(gòu)的區(qū)別是什么?

概念:所謂的架構(gòu)就是用來指導(dǎo)我們軟件開發(fā)的一種思維,目前最常見的就是BS/CS。

  1. B -- browser 瀏覽
  2. C -- client 客戶
  3. S -- server 服務(wù)端

區(qū)別:

  1. 標(biāo)準(zhǔn):相對于C/S架構(gòu)來說B/S架構(gòu)的兩端都是使用現(xiàn)成的成熟產(chǎn)品,B/S會(huì)顯示的標(biāo)準(zhǔn)一些。
  2. 效率:相對于B/S架構(gòu)來說C/S中的客戶端可以分擔(dān)一些數(shù)據(jù)的處理,執(zhí)行效率會(huì)高一些。
  3. 安全:B/S架構(gòu)當(dāng)中得到數(shù)據(jù)的傳輸都是以Http協(xié)議進(jìn)行傳輸?shù)?,而Http協(xié)議又是明文輸出??梢员蛔グ?,那么B/S架構(gòu)相比C/S架構(gòu)顯得就不那么安全了
  4. 升級(jí):B/S架構(gòu)只需要在服務(wù)器端將數(shù)據(jù)進(jìn)行更新,前臺(tái)只需要刷新頁面就可以升級(jí),而C/S架構(gòu)必須要將兩端都進(jìn)行更新才可以。
  5. 開發(fā)成本:相對于B/S架構(gòu)來說C/S當(dāng)中的客戶端需要自己開發(fā),B/S不用,所以說C/S成本會(huì)高一些。

12. 舉例說一下你的接口測試是怎么做的?

  1. 下單這個(gè)接口用的是http協(xié)議,使用post請求方式,發(fā)送給服務(wù)器的參數(shù)有token,產(chǎn)品ID,購買數(shù)量,收貨人地址等等,這些參數(shù)都是必傳的參數(shù)。
  2. 我們是使用Jmeter來做接口測試的,首先,要新建一個(gè)線程組,在線程組下面添加一個(gè)http的請求,然后填寫好服務(wù)器地址,接口路徑,請求方式,請求參數(shù)。
  3. 由于下單的接口依賴于登錄,所以我們會(huì)先調(diào)用登錄接口,從中獲取token值,在下單接口中使用${參數(shù)名}的方式引用,接下來還要對其他參數(shù)進(jìn)行參數(shù)化,構(gòu)造各種正常和異常的數(shù)據(jù),我們先在本地創(chuàng)建一個(gè)txt文檔,把參數(shù)填寫到文檔里面,在Jmeter中添加一個(gè)csv文件設(shè)置,填寫好txt文檔的路徑,然后在請求參數(shù)中使用Json提取器把token值關(guān)聯(lián)出來,然后在下單接口中使用${參數(shù)名}的方式引用;接下來添加斷言,檢查服務(wù)器返回的結(jié)果和預(yù)期結(jié)果是不是一致的。
  4. 最后,添加查看結(jié)果樹查看測試結(jié)果。

13. Android手機(jī)和IOS手機(jī),系統(tǒng)有什么區(qū)別?

  1. 運(yùn)行機(jī)制不同:IOS采用的是沙盒運(yùn)行機(jī)制,安卓采用的是虛擬機(jī)運(yùn)行機(jī)制
  2. 兩者后臺(tái)制度不同:IOS中任何第三方程序都不能在后臺(tái)運(yùn)行,安卓中任何程序都能在后臺(tái)運(yùn)行,直到?jīng)]有內(nèi)存才會(huì)關(guān)閉
  3. IOS中用于UI指令權(quán)限最高,安卓中數(shù)據(jù)處理指令權(quán)限最高

14. 缺陷引起原因

  1. 軟件結(jié)構(gòu)復(fù)雜
  2. 編碼問題
  3. 使用新技術(shù)
  4. 需求不明確或者更改需求
  5. 項(xiàng)目周期短,時(shí)間緊迫

15.接口測試流程?

項(xiàng)目啟動(dòng)后,測試人員盡早找開發(fā)人員拿到接口文檔,獲取接口文檔后進(jìn)行接口用例的編寫和調(diào)試,完成后部署到持續(xù)集成的測試環(huán)境中,進(jìn)行接口的日常監(jiān)控,定期對接口腳本的維護(hù)更新,接口異常的處理。

  1. 首先要看有沒有接口文檔,如果有文檔的時(shí)候按接口文檔去做,沒有的話就去抓包。

  2. 我們一般使用postmian以及jemter.

  3. 沒有接口文檔的情況下,要先創(chuàng)建一個(gè)線程組,指定并發(fā)的線程數(shù)量,在指定測試的接口,創(chuàng)建相應(yīng)的監(jiān)聽器,(如,表格結(jié)果,結(jié)果樹,以及聚合報(bào)告信息)通過監(jiān)聽器來進(jìn)行監(jiān)聽測試是否通過以及接口存在什么問題。

16. 你以前工作時(shí)的測試流程是什么?(自己編寫,結(jié)合表格)

先要有需求評審(有開發(fā)人員---產(chǎn)品經(jīng)理---測試人員---項(xiàng)目經(jīng)理)需求確定(出一份確定好的需求文檔)開發(fā)設(shè)計(jì)文檔(開發(fā)人員在開始寫代碼前就能夠輸出設(shè)計(jì)文檔)制定測試計(jì)劃---寫出測試用例---發(fā)給開發(fā)人員與測試經(jīng)理看一下---接到測試版本---執(zhí)行測試用例---提交Bug---交給開發(fā)人員修改---回歸測試。

17. 當(dāng)你參加評審時(shí),你的評審原則是什么?

首先要從正確性,一致性,可行性,必要性,可跟蹤性,分配優(yōu)先級(jí),可測性,可修改性考慮:
正確性:每一條需求都必須準(zhǔn)確的陳述其要開發(fā)的功能。
一致性:必須與其他軟件需求或高層需求不相矛盾。
可行性:其每一項(xiàng)需求都必須是已系統(tǒng)和環(huán)境的權(quán)能和限制范圍可以來實(shí)施的。
必要性:每項(xiàng)需求都是用來授權(quán)你編寫文檔的“根源”,要使每項(xiàng)需求都能回潮至某項(xiàng)客戶的輸入。
可測性:每項(xiàng)需求都能通過設(shè)計(jì)測試用例或其他的驗(yàn)證方法來進(jìn)行測試。
可修改性:每項(xiàng)需求只應(yīng)在SRS中出現(xiàn)一次,這樣更改會(huì)容易保持一致性。
可跟蹤性:在每項(xiàng)軟件需求與它的根源與設(shè)計(jì)元素,源代碼,測試用例之間建立起鏈接,而這種可跟蹤性要求每項(xiàng)需求都必須以一種結(jié)構(gòu)化的,粒度好(fine-grained)的方式編寫
分配優(yōu)先級(jí):應(yīng)當(dāng)對所有的需求分配優(yōu)先級(jí),如把所有需求都看作同樣重要,那么項(xiàng)目管理者在開發(fā)或節(jié)省預(yù)算或調(diào)度中喪失控制自由度

18.軟件測試的需求標(biāo)準(zhǔn)是什么?

  1. 文檔版本信息:包含文檔版本,作者,完成日期,修訂版需要加上修訂記錄(版本號(hào),修訂者,日期,內(nèi)容)。
  2. 目錄結(jié)構(gòu)要清晰,不同級(jí)別的標(biāo)題要區(qū)分字號(hào)。
  3. 產(chǎn)品架構(gòu):一般只有功能以及信息架構(gòu),
  4. 功能:一級(jí)-二級(jí),三級(jí)功能要?jiǎng)澇?。以及產(chǎn)品特性(功能列表,原型界面,詳細(xì)設(shè)計(jì))。

19.請寫一下W模型圖

image

20. 軟件質(zhì)量的特性是什么?

  1. 功能性:軟件需求要滿足用戶顯示或者穩(wěn)式的功能。
  2. 易用性:軟件易于學(xué)習(xí)和上手使用。
  3. 可靠性:軟件必須實(shí)現(xiàn)需求當(dāng)中指明的具體功能。
  4. 效率性:類似于軟件的功能。
  5. 可維護(hù)性:需求軟件具有將某個(gè)功能修復(fù)之后繼續(xù)使用的功能。

21. 測試計(jì)劃工作的目的是什么?測試計(jì)劃文檔的內(nèi)容包括什么?

目的:明確測試任務(wù)與測試方法,保持測試實(shí)施過程的順暢溝通。
內(nèi)容:測試目的、測試資源、測試范圍、測試風(fēng)險(xiǎn)、人員分工、測試策略、測試準(zhǔn)則、測試進(jìn)度、提交測試文檔。

22. 搭建過什么環(huán)境,搭建工作環(huán)境是如何搭建的?

搭建過web測試環(huán)境 app測試環(huán)境等
個(gè)人PC(windows)可以搭建測試環(huán)境,但是由于個(gè)人PC硬件和軟件的局限性,我們一般不使用其搭建測試環(huán)境,但如果是自己做模擬實(shí)驗(yàn)是沒問題的。但是在企業(yè)中我們一般都不使用windows平臺(tái)搭建服務(wù)器,而是選擇Linux平臺(tái)。這是因?yàn)槲覀兘?jīng)常選擇Linux平臺(tái)作為服務(wù)器的操作系統(tǒng)。搭建測試環(huán)境
如果你需要搭建的測試環(huán)境是剛裝的Linux操作系統(tǒng),
通常測試環(huán)境包括JDK環(huán)境,Tomcat環(huán)境和MySQL環(huán)境
下邊是安全配置的步驟,大家可以理解,不用強(qiáng)背...,面試的時(shí)候,可以說就從網(wǎng)上找一份文檔,按照文檔進(jìn)行配置

1.安裝jdk
如果有自帶,先卸載再裝
  1.把包復(fù)制/usr/local
  2.解壓
  3.配置環(huán)境變量
  export JAVA_HOME=/usr/local/jdk1.7.0_71
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export PATH=$JAVA_HOME/bin:$PATH
  4.檢查java是否安裝成功
  java -version

2.安裝tomcat
  1.把下載的tomcat包復(fù)制/usr/local
  2.解壓
  3.在tomcat/bin目錄執(zhí)行startup.sh文件
  啟動(dòng)服務(wù)
  在瀏覽器中連接:IP:8080
  4.如果連接不上,但tomcat又是顯示啟動(dòng)OK,檢查firewall
  路徑為 /etc/sysconfig/iptables,將8080端口開啟
  5.重啟服務(wù)

3.安裝數(shù)據(jù)庫
數(shù)據(jù)庫一般安裝mysql和oracle多一些
首先下載相應(yīng)的數(shù)據(jù)庫安裝包
mysql安裝比較簡單,可以使用源碼安裝,也可以使用yum在線安裝,在這里簡單地介紹一下yum在線安裝
用yum在線安裝
  1. rpm -qa|grep mysql --檢查Linux是否有存在的mysql
  2.如果有mysql,卸載
  rpm -e --nodeps mysql
  3.安裝
  yum install mysql-server mysql mysql-dev -y
  4.安裝成功后,啟動(dòng)服務(wù)
  service mysqld start
  service 服務(wù)名 restart/start
  5.直接輸入mysql 進(jìn)入到數(shù)據(jù)庫
以上的只會(huì)在干凈的操作系統(tǒng)上進(jìn)行安裝,一般來說只需要安裝一次

23. 怎樣保證覆蓋用戶需求

項(xiàng)目開始前,我們會(huì)先熟悉需求,畫好流程圖,保證整個(gè)流程都覆蓋全面來講解一下自己對測試點(diǎn)的理解,用例編寫完之后,再進(jìn)行用例的評審,看看測試點(diǎn)有沒有用遺漏,測試場景是否覆蓋完全。

24. 開發(fā)環(huán)境與測試環(huán)境有什么區(qū)別?

開發(fā)環(huán)境:是在編碼階段,一般我們的代碼基本上都是在開發(fā)環(huán)境中,不會(huì)再生產(chǎn)與測試環(huán)境,如操作系統(tǒng),web服務(wù)器,語言環(huán)境,php,數(shù)據(jù)庫等等。
測試環(huán)境:項(xiàng)目完成后,找Bug,以及修改Bug。

生產(chǎn)環(huán)境: 項(xiàng)目數(shù)據(jù)前后端已經(jīng)疏通,部署到阿里云上有客戶去使用以及訪問,網(wǎng)絡(luò)正常運(yùn)行就好了。

25. 如果給你購物商城網(wǎng)頁(京東,淘寶等)你會(huì)怎樣進(jìn)行測試?測試哪些主要功能?

  1. 首先要先進(jìn)行需求分析,xmind梳理測試點(diǎn),編寫案例,案例評審,尋求他人意見,再完善案例,交給其他人檢查。
  2. 測試點(diǎn):如UI,美觀度,易操作型,易理解型方面進(jìn)行測試。
  3. 在考慮功能點(diǎn),如登陸注冊,添加購物車,下單,付款,發(fā)貨,確認(rèn)收貨,評價(jià)。
  4. 性能方面:如打開網(wǎng)頁,確認(rèn)訂單,付款的響應(yīng)時(shí)間等。
  5. 兼容性:如支持各種主流瀏覽器,如(EI,360,火狐,谷歌等)。

26.紅包的測試用例?

  1. 功能:
    a)在紅包錢數(shù),和紅包個(gè)數(shù)的輸入框中只能輸入數(shù)字
    b)紅包里最多和最少可以輸入的錢數(shù) 200 0.01
    c)拼手氣紅包最多可以發(fā)多少個(gè)紅包 100
    d)超過最大拼手氣紅包的個(gè)數(shù)是否有提醒
    e)當(dāng)紅包錢數(shù)超過最大范圍是不是有對應(yīng)的提示
    f)當(dāng)發(fā)送的紅包個(gè)數(shù)超過最大范圍是不是有提示
    g)當(dāng)余額不足時(shí),紅包發(fā)送失敗
    h)在紅包描述里是否可以輸入漢字,英文,符號(hào),表情,純數(shù)字,漢字英語符號(hào),
    i)是否可以輸入它們的混合搭配
    j)輸入紅包錢數(shù)是不是只能輸入數(shù)字
    k)紅包描述里許多能有多少個(gè)字符 10個(gè)
    l)紅包描述,金額,紅包個(gè)數(shù)框里是否支持復(fù)制粘貼操作
    m)紅包描述里的表情可以刪除
    n)發(fā)送的紅包別人是否可以領(lǐng)取
    o)發(fā)的紅包自己可不可以領(lǐng)取 2人
    p)24小時(shí)內(nèi)沒有領(lǐng)取的紅包是否可以退回到原來的賬戶
    q)超過24小時(shí)沒有領(lǐng)取的紅包,是否還可以領(lǐng)取
    r)用戶是否可以多次搶一個(gè)紅包
    s)發(fā)紅包的人是否還可以搶紅包 多人
    t)紅包的金額里的小數(shù)位數(shù)是否有限制
    u)可以按返回鍵,取消發(fā)紅包
    v)斷網(wǎng)時(shí),無法搶紅包
    w)可不可以自己選擇支付方式
  2. 兼容:
    a)蘋果,安卓是否都可以發(fā)送紅包
    b)電腦端可以搶微信紅包
    c)界面
    d)發(fā)紅包界面沒有錯(cuò)別字
    e)搶完紅包界面沒有錯(cuò)別字
    f)發(fā)紅包和收紅包界面排版合理,
    g)發(fā)紅包和收到紅包界面顏色搭配合理
  3. 安全:
    a)對方微信號(hào)異地登錄,是否會(huì)有提醒 2人
    b)紅包被領(lǐng)取以后,發(fā)送紅包人的金額會(huì)減少,收紅包金額會(huì)增加
    c)發(fā)送紅包失敗,余額和銀行卡里的錢數(shù)不會(huì)少
    d)紅包發(fā)送成功,是否會(huì)收到微信支付的通知
  4. 易用性(有點(diǎn)重復(fù)):
    a)紅包描述,可以通過語音輸入
    b)可以指紋支付也可以密碼支付

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

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

28.Jmeter的是如何進(jìn)行測試的?(請您介紹一下Jemeter是如何使用的?Jemeter如何進(jìn)行壓力測試?)

  1. 打開JMeter
  2. 創(chuàng)建線程組
  3. 設(shè)置線程數(shù)和循環(huán)次數(shù)。我這里設(shè)置線程數(shù)為500,循環(huán)一次
  4. 添加HTTP采樣器
  5. 配置我們需要進(jìn)行測試的程序協(xié)議、地址和端口
  6. 構(gòu)造HTTP請求
  7. 添加HTTP請求頭
  8. 添加斷言
  9. 添加察看結(jié)果樹
  10. 添加Summary Report
  11. 執(zhí)行測試計(jì)劃,執(zhí)行測試計(jì)劃不能用GUI,需要用命令行來執(zhí)行
  12. Web報(bào)告

29.Jmeter的連接數(shù)據(jù)庫

  1. 添加需要的驅(qū)動(dòng)
  2. 添加jar包
  3. 配置JDBC Connection Configuration
  4. 添加JDBC Request

30.Jemeter為什么要參數(shù)化?

多用戶登錄的時(shí)候,如果不進(jìn)行參數(shù)化就沒演示了。
需要使用CSV將參數(shù)放到文件,來演示多用戶登陸。
在進(jìn)行錄制的時(shí)候,有可能存在第二個(gè)請求的參數(shù)是從第一個(gè)請求中獲取出來的,需要在第一個(gè)請求下,去將參數(shù)提取出來,再到第二個(gè)請求中進(jìn)行參數(shù)化

31. Jemeter中有哪些常用元件?

32. 如果你要進(jìn)行性能測試,你是如何展開操作的?

確定關(guān)鍵業(yè)務(wù),關(guān)鍵路徑
確定輸入?yún)?shù)以及輸出參數(shù),指定負(fù)載測試方案
準(zhǔn)備測試環(huán)境,完成腳本錄制,或者測試腳本開發(fā)
執(zhí)行測試,觀察或輸出參數(shù),如(數(shù)據(jù)吞吐量,響應(yīng)時(shí)間,資源占有率等)
對測試結(jié)果進(jìn)行分析

33. 自動(dòng)化測試有了解嗎?自動(dòng)化測試的工具有哪些?(了解)

常用的自動(dòng)測試框架工具:Selenium、Appium、unittest、pytest等。

34. Selenium元素定位方法有哪些?

通過id、name、class_name、xpath、css_selector、link_text、partial_link_text、tag_name定位元素。
一般,如果有id就使用id,然后使用css或者xpath來定位,當(dāng)然定位的時(shí)候,需要在瀏覽器里邊安裝firebug firepath來抓取頁面元素對應(yīng)的xpath信息。

35. 安全性測試包括哪些方面?

用戶驗(yàn)證,用戶權(quán)限管理,系統(tǒng)數(shù)據(jù)的保護(hù)

36.為什么要進(jìn)行抓包?

有些時(shí)候公司沒有標(biāo)準(zhǔn)的接口文檔,測試人員只能抓包來獲取接口測試。
抓包可以迅速找到請求,通過抓包可以查看整個(gè)請求的過程,以及響應(yīng)時(shí)間,還可以分辨前臺(tái)與后臺(tái)Bug。
通過抓包,可以查看是否有敏感信息,如(用戶密碼,個(gè)人賬戶信息等數(shù)據(jù))
可以通過抓包進(jìn)行測試,攔截請求,修改請求數(shù)據(jù),查看對應(yīng)的響應(yīng)結(jié)果,抓包本身就是接口的一部分。

37. 一般抓包用什么工具,怎么進(jìn)行抓包?

工具上使用:Fiddler、Charles這兩個(gè)工具
Fiddler:
A. 設(shè)置Http代理,設(shè)置端口號(hào),在手機(jī)上設(shè)置與fiddler在同一網(wǎng)段上,設(shè)置代理ip,設(shè)置代理端口,手機(jī)上的請求就能獲取到了。
B. 抓取請求查看,可以過濾,找到自己域名下的請求,通過分析請求地址,請求參數(shù),響應(yīng)結(jié)果來查找問題。

Https包怎么抓?
A. http與Https協(xié)議區(qū)別在于Https多了一個(gè)ssL協(xié)議,更加安全,默認(rèn)端口是443,而http默認(rèn)端口是80.
B. 抓取Https時(shí),需要獲取申請證書,在fiddler與charles兩個(gè)工具中,可以模擬下載966證書,下載后,在手機(jī)上訪問代理服務(wù)器的ip與端口,下載證書,就可以抓取到HTTPS的請求了。

38. 你都做過什么測試

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

在公司中大部分是做的功能與接口測試。

39. 如果回歸測試不通過怎么辦?

首先考慮環(huán)境問題,看是否能夠還原原來的環(huán)境
遇到問題就要提,不能放過任何一個(gè)Bug,在提交的Bug描述中加上一句話,那就是復(fù)現(xiàn)概率,嘗試20次,出現(xiàn)一次或嘗試10次,交給開發(fā),開發(fā)會(huì)根據(jù)Bug的復(fù)現(xiàn)概率,調(diào)整改Bug的優(yōu)先級(jí)。
盡量回想發(fā)生問題時(shí)的復(fù)現(xiàn)步驟,不要漏掉任何一個(gè)細(xì)節(jié),按照步驟的組合嘗試復(fù)現(xiàn)
與開發(fā)人員配合,讓開發(fā)人員對相應(yīng)的代碼檢查,看是否通過代碼層面檢查出問題
保留發(fā)生bug時(shí)的log,附加到提交的Bug中,希望可以通過log中找到一些蛛絲馬跡。
查看代碼,也許是代碼變更,引起的Bug

40. 測試報(bào)告包括哪些?

概述
編寫目的:測試報(bào)告的描述、項(xiàng)目簡介、測試內(nèi)容描述。
人員分工:姓名、職務(wù)、任務(wù)
測試環(huán)境:軟件、硬件環(huán)境
測試過程
測試進(jìn)度:測試任務(wù)、測試負(fù)責(zé)人、啟動(dòng)時(shí)間、計(jì)劃完成時(shí)間、實(shí)際完成時(shí)間、備注
用例執(zhí)行情況:模塊、用例總數(shù)、執(zhí)行用例數(shù)、通過用例數(shù)、未通過用例數(shù)、阻塞用例數(shù)
缺陷統(tǒng)計(jì):模塊、bug總數(shù)、新增bug總數(shù)、修復(fù)bug總數(shù)、遺留bug總數(shù)
缺陷分析
按照級(jí)別分:
按照缺陷模塊分:
按照缺陷類型分:版本、趨勢
測試總結(jié)
測試結(jié)論:是否通過。各種率、按級(jí)別描述缺陷
風(fēng)險(xiǎn)分析:編號(hào)、風(fēng)險(xiǎn)描述、規(guī)避方法和建議
遺留問題:編號(hào)、缺陷描述、缺陷等級(jí)、處理方法

41. 測試用例評審的流程是什么?

目的:主要是為了開展測試用例評審工作提供指引,規(guī)范測試用例管理工作。
流程:
測試用例是否按照公司定義的模板進(jìn)行編寫的;
測試用例的本身的描述是否清晰,是否存在二義性;
操作步驟應(yīng)與描述是否相一致;
測試用例是否覆蓋了所有的需求;
測試用例是否具有可執(zhí)行性
測試用例應(yīng)有正確的名稱和編號(hào),
測試用例應(yīng)標(biāo)注有執(zhí)行的優(yōu)先級(jí)。

42.怎樣分析性能測試結(jié)果?

查看聚合報(bào)告和服務(wù)器的資源使用圖,檢查響應(yīng)時(shí)間,事務(wù)成功率,CPU,內(nèi)存和IO使用率是否達(dá)到要求,如果出錯(cuò)率達(dá)到了總請求數(shù)的3%,我們會(huì)檢查是什么原因?qū)е碌?,修改好后,重新測試;
如果出現(xiàn)了性能瓶頸,比如響應(yīng)時(shí)間,或者CPU使用率不達(dá)標(biāo),我們會(huì)從服務(wù)器上導(dǎo)出日志,分析是哪個(gè)地方導(dǎo)致響應(yīng)時(shí)間過長,如果分析不出來,就叫上開發(fā)一起討論,確定問題后,就提單給開發(fā)修復(fù),修復(fù)好了就進(jìn)行回歸測試。

43.請說幾個(gè)常見的狀態(tài)碼?

200:請求發(fā)送成功。
302:代表重定向。
400:客戶端發(fā)送的請求語法錯(cuò)誤。
401:請問的頁面沒有授權(quán)。
403:沒有權(quán)限訪問這個(gè)頁面。
404:沒有這個(gè)頁面。
500:服務(wù)器內(nèi)部異常。

44. 請描述下接口測試與UI測試是如何協(xié)同測試的?

有一部分是重疊的,Ui測試是通過前端寫的界面,是來調(diào)用接口的,而接口測試是直接調(diào)用接口。
排除前端的處理邏輯與調(diào)用的正確性,在理論上接口測試是可以覆蓋所有的Ui測試,但實(shí)際中,如接口層覆蓋所有的業(yè)務(wù)流,在Ui上只測試前端的邏輯,而最終的結(jié)果會(huì)忽視很多原有的功能點(diǎn),導(dǎo)致了Ui測試的不充分,那么會(huì)存在人多分工且時(shí)間充分的時(shí)候可以嘗試接口去做業(yè)務(wù)流的全覆蓋,否則不要輕易的去嘗試。

45. 你們項(xiàng)目最佳的并發(fā)用戶數(shù)是多少?

我們當(dāng)時(shí)做到1500個(gè)并發(fā)用戶的時(shí)候,查詢功能的響應(yīng)時(shí)間超過了性能指標(biāo)2秒多,原因是有幾個(gè)表的索引建得不合理導(dǎo)致的,我們當(dāng)時(shí)做到1500并發(fā)用戶后,就沒再繼續(xù)增加用戶量了。

46. 如何判斷網(wǎng)絡(luò)是否存在瓶頸?

在性能測試結(jié)束之后,我們會(huì)根據(jù)性能測試的結(jié)果,查看在整個(gè)性能測試過程中,網(wǎng)絡(luò)的吞吐量是多少,如果網(wǎng)絡(luò)的吞吐量占到了服務(wù)器的70%以上,我們就認(rèn)為網(wǎng)絡(luò)存在瓶頸,通常會(huì)增加帶寬或者壓縮傳輸數(shù)據(jù)。

47. 如何判斷響應(yīng)時(shí)間不達(dá)標(biāo)

響應(yīng)時(shí)間不達(dá)標(biāo)的話,我們會(huì)根據(jù)性能測試結(jié)果先檢查看下是否是服務(wù)器帶寬存在問題,如果帶寬存在瓶頸,則會(huì)考慮增加帶寬或者壓縮傳輸數(shù)據(jù),如果帶寬沒有問題的話,我們會(huì)從服務(wù)器上導(dǎo)出日志,開發(fā)一起討論分析是哪個(gè)地方導(dǎo)致響應(yīng)時(shí)間過長,確定問題后,就提單給開發(fā)修復(fù),修復(fù)好了就進(jìn)行回歸測試。

48. 如何判斷CPU使用率不達(dá)標(biāo)

CPU使用率不達(dá)標(biāo),我們會(huì)從服務(wù)器上導(dǎo)出日志,分析是哪個(gè)地方導(dǎo)致CPU使用率不達(dá)標(biāo),如果分析不出來,就叫上開發(fā)一起討論,確定問題后,就提單給開發(fā)修復(fù),修復(fù)好了就進(jìn)行回歸測試。

49. App常見崩潰的原因?

設(shè)備碎片化:由于設(shè)備極具多樣性,App在不同的設(shè)備上可能有不同表現(xiàn)形式。
寬帶限制:寬帶不佳的的網(wǎng)絡(luò)對APP所需的快速響應(yīng)時(shí)間不夠。
網(wǎng)絡(luò)的變化:不同網(wǎng)絡(luò)間的切換可能會(huì)影響App的穩(wěn)定性。
內(nèi)存管理:可能內(nèi)存過低,或非是授權(quán)的內(nèi)存位置的使用可能會(huì)導(dǎo)致App失敗。

50. 你在項(xiàng)目中最經(jīng)典的BUG是什么?

兼容性問題,在ie瀏覽器,提交訂單按鈕可以點(diǎn)擊,到了谷歌,火狐就不能了。
查詢訂單頁面,根據(jù)條件篩選的結(jié)果不是想要的結(jié)果,還有某些字段的值沒有顯示出來,或者顯示錯(cuò)誤。(因?yàn)殚_發(fā)從庫表取值有誤)
付款成功后,訂單狀態(tài)一直不翻轉(zhuǎn)為交易成功。(因?yàn)榇a沒有正確獲取庫表中付款成功記錄的狀態(tài)碼)
修改支付密碼,新密碼和原密碼一致,也通過了,系統(tǒng)沒有做新舊密碼的校驗(yàn)。
付款時(shí)候的手機(jī)驗(yàn)證碼,可以一直使用,沒有成功做有效期控制。
手機(jī)app斷開網(wǎng)絡(luò)后,再去點(diǎn)擊,沒有友好的錯(cuò)誤頁面提示網(wǎng)絡(luò)已斷開,只有undefined返回

  1. bug無法復(fù)現(xiàn)
  2. 查詢功能,翻頁后第二頁的內(nèi)容與第一頁的內(nèi)容完全相同。原因是翻頁的時(shí)候刷新了頁面觸發(fā)了查詢語句。印象最深的原因:發(fā)生過兩次,才知道原因所在。

51. 你在你工作中遇到最棘手的問題是什么?

bug無法復(fù)現(xiàn)
查詢功能,翻頁后第二頁的內(nèi)容與第一頁的內(nèi)容完全相同。原因是翻頁的時(shí)候刷新了頁面觸發(fā)了查詢語句。印象最深的原因:發(fā)生過兩次,才知道原因所在。

52.弱網(wǎng)情況下你是如何測試的?

  1. 2G的網(wǎng)速150kbps,折合下載速度15-20K/S.B=8b.g
  2. 3G的網(wǎng)速 1-6Mbps,折合下載速度120K/S-600K/S.
  3. 4G的網(wǎng)速10-100Mbps,折合下載速度1.5M/s-10M/s.
  4. 使用真實(shí)的SIM卡,運(yùn)營上網(wǎng)絡(luò)來進(jìn)行測試。

53.跟開發(fā)人員因?yàn)锽UG產(chǎn)生分歧你是如何解決的?

  1. 問題確認(rèn)與評估
  2. 明確開發(fā)不修改該缺陷的確切原因
  3. 具體問題具體分析--注:dev代表開發(fā) tester表示測試人員
  4. 發(fā)揮TM與PM的溝通職責(zé) 注TM表示測試經(jīng)理 PM表示產(chǎn)品經(jīng)理強(qiáng)調(diào)溝通。

54.如何提交高質(zhì)量的軟件缺陷記錄(報(bào)告)?

  1. 通用UI要統(tǒng)一、準(zhǔn)確。
  2. 盡量使用業(yè)界慣用的表達(dá)術(shù)語和表達(dá)方法
  3. 每條缺陷報(bào)告只包括一個(gè)缺陷
  4. 不可重現(xiàn)的缺陷也要報(bào)告
  5. 明確指明缺陷類型
  6. 明確指明缺陷嚴(yán)重等級(jí)和優(yōu)先等級(jí)
  7. 描述 (Description) ,簡潔、準(zhǔn)確,完整,揭示缺陷實(shí)質(zhì),記錄缺陷或缺陷出現(xiàn)的位置
  8. 短行之間使用自動(dòng)數(shù)字序號(hào),使用相同的字體、字號(hào)、行間距
    短行之間使用自動(dòng)數(shù)字序號(hào),使用相同的字體、字號(hào)、行間距,可以保證各條記錄格式一致,做到規(guī)范專業(yè)。

55. 手機(jī)端測試的關(guān)注點(diǎn)有哪些?

UI測試,功能,性能測試,安裝卸載測試,軟件升級(jí)測試,登陸測試,安全性測試,消息推送,前后臺(tái)切換,兼容性測試,網(wǎng)絡(luò)環(huán)境測試,monkey測試。

  • 兼容性:
  1. 系統(tǒng)版本:android:原生安卓系統(tǒng):4.4 5.8。定制版本:小米、華為、魅族..
    IOS:原生系統(tǒng):5.0.。。
  2. 屏幕分辨率:7201280 19281888.,圖片(根據(jù)分辨率做一些圖片)
  3. 網(wǎng)絡(luò)狀態(tài):2g 3g 4g 5g wifi

56. Web測試的方法有哪些?

image

57. 軟件測試的分類有哪些?

image

58. 測試用例的方法有哪些以及包含的內(nèi)容?

方法:等價(jià)類劃分法、邊界值分析法、場景法,因果圖、錯(cuò)誤推測法
解釋:

  1. 等價(jià)類劃分:把所有可能輸入的數(shù)據(jù)分為若干個(gè)區(qū)域,然后從每個(gè)區(qū)域中取少量有代表性的數(shù)據(jù)進(jìn)行測試即可,分為有效等價(jià)類和無效等價(jià)類。
  2. 邊界值分析法:取稍高于或稍低于邊界的一些數(shù)據(jù)進(jìn)行測試,使用離點(diǎn)、上點(diǎn)、內(nèi)點(diǎn)確定取值。
  3. 錯(cuò)誤推測法:測試經(jīng)驗(yàn)豐富的人喜歡使用的一種測試用例設(shè)計(jì)方法。
    一般這種方法是基于經(jīng)驗(yàn)和直覺推測程序中可能發(fā)送的各種錯(cuò)誤,有針對性地設(shè)計(jì)。只能作為一種補(bǔ)充。
  4. 因果圖方法:比較適合輸入條件比較多的情況,測試所有的輸入條件的排列組合。所謂的原因就是輸入,所謂的結(jié)果就是輸出。
  5. 場景法:通過模擬業(yè)務(wù)場景來對系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程的描述,從而提高測試效果的黑盒測試方法

59. App的性能測試怎么做的?

App的性能分為服務(wù)器端的性能和手機(jī)端的性能。 服務(wù)器端的性能,我們用Jmeter工具進(jìn)行測試的,和web的端性能測試方法一樣的。我們是用monkey做手機(jī)端App的穩(wěn)定性測試的,使用monkey跑10萬次,看它會(huì)不會(huì)出問題,如果出了問題,我們再定位原因,具體的做法是這樣的:在跑monkey前,先使用adb logcat -c清空手機(jī)的logcat日志接下來,使用adb logcat -v time獲取logcat日志并導(dǎo)入本地文件使用monkey運(yùn)行被測應(yīng)用:adb shell monkey -p 包名 -v 10萬次 并將執(zhí)行結(jié)果導(dǎo)入到本地測試完成后查看monkey日志,如果說它跑的次數(shù)跟我設(shè)的次數(shù)不一樣.就說明monkey中途跑失敗了。那我就要去看看monkey日志中有沒有crash或者anr的關(guān)鍵字,如果有還需定位到是什么原因?qū)е碌腶nr或者crash的問題。并且將相關(guān)日志和logcat日志與進(jìn)程號(hào)提交給開發(fā)定位,如果是anr的問題,還需要從安卓中獲取/data/anr/traces.txt文件提交給開發(fā)定位。

60. 代碼的版本管理用什么工具,上傳和合并代碼?SVN介紹用的版本管理工具

SVN是Subversion的簡稱,是一個(gè)開放源代碼的版本控制系統(tǒng),說得簡單一點(diǎn)SVN就是用于多個(gè)人共同開發(fā)同一個(gè)項(xiàng)目,共用資源的目的
SVN需要部署服務(wù)端和客戶端,我們公司服務(wù)端部署在服務(wù)器上,我們只需要在自己的電腦上安裝客戶端(小烏龜),服務(wù)端給分配好賬號(hào)密碼和權(quán)限,并且給我們倉庫的地址,我們就可以對倉庫中的文件或代碼進(jìn)行checkout update commit等操作,當(dāng)然共同協(xié)作開發(fā)可能還會(huì)有沖突發(fā)生,這就需要處理沖突
當(dāng)然除了SVN我會(huì)使用GIT, Git是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。 是一個(gè)開放源碼的版本控制軟件。Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務(wù)器端軟件支持。
在使用GIT都是使用指令進(jìn)行操作:

  • 配置用戶信息 用戶名和郵箱
git config --global user.name "DashShi"
git config --global user.email 805256908@qq.com

  • 創(chuàng)建版本庫 git init進(jìn)行倉庫的初始化
  • 添加文件到版本庫(其實(shí)是到版本庫的緩存)
git add . 把這個(gè)文件夾下面所有的文件都添加到庫
git add abc.txt 把某一個(gè)文件添加到庫中
git status -s 可以查看添加的狀態(tài)

  • 提交添加到緩存的文件到真實(shí)的倉庫git commit -m "提交的信息說明"
  • 查看提交的日志/記錄
git log
git log --pretty=oneline 簡略信息查看日志

  • git的遠(yuǎn)程倉庫
//遠(yuǎn)程倉庫存在,把本地的代碼推送到遠(yuǎn)程需要執(zhí)行
git push -u origin master

  • 如果想把github遠(yuǎn)程倉庫的代碼拿到本地
git clone "url"

61. APP出現(xiàn)ANR的原因?

線程阻塞的,內(nèi)存不足,CPU滿負(fù)荷(由于現(xiàn)在的手機(jī)基本都是8核CPU,所以基本不會(huì)出現(xiàn)CPU滿負(fù)荷的情況)。

62. APP出現(xiàn)CRASH的原因:

  1. 空值指針
  2. 數(shù)組越界
  3. 內(nèi)存不足
  4. CPU滿負(fù)荷(由于現(xiàn)在的手機(jī)基本都是8核CPU,所以基本不會(huì)出現(xiàn)CPU滿負(fù)荷的情況)

63. Appium的工作原理是什么?

我們的電腦(c端)上運(yùn)行自動(dòng)化測試腳本,調(diào)用的是appium的webdriver的接口,appium服務(wù)器(s端)接收到我們client上發(fā)送過來的命令后,他會(huì)將這些命令轉(zhuǎn)換為UIautomator認(rèn)識(shí)的命令,然后由UIautomator來在設(shè)備上執(zhí)行自動(dòng)化。

64. MySql數(shù)據(jù)庫查詢語言有哪些?多表聯(lián)查會(huì)嗎?什么是子查詢?

  • 數(shù)據(jù)庫語言最常SQL (結(jié)構(gòu)化查詢語du言)

    創(chuàng)建表:create table user(id int(11) primary key auto_increment,name   varchar(20),age int(4),sex varchar(10),);
    增:insert into user(name,age,sex) values(?,?,?);
    刪:delete from user where name=?;
    改:update user set age=?,sex=? where name=?;
    查詢所有:select * from user;   
    根據(jù)名稱查找:select * from user where name=?;
    
    
  • 多表聯(lián)查:

    select * from customer,orders;
    select * from customer,orders where customer.id=orders.customer_id;
    select * from customer c left join orders o on c.id=o.customer_id;
    select * from customer c right join orders o on c.id=o.customer_id;
    
    
  • 子查詢:老師和學(xué)生

    //查詢李老師所教的學(xué)生
    select id from teacher where name=’李老師’
    select student_id from teacher_student where teacher_id=id
    
    select * from student where id in(select student_id from teacher_student where teacher_id =(select id from teacher where name='李老師'));
    
    //查詢張三的所有老師
    select * from teacher where id in(select teacher_id from teacher_student where student_id=(select id from student where name='張三'));
    
    

65. SQL語句處理與代碼處理哪個(gè)好,舉例?

如果用sql語句,數(shù)據(jù)處理比較快,處理后傳輸?shù)臄?shù)據(jù)量稍大,由123變成了漢字。
在代碼中處理,傳輸?shù)臄?shù)據(jù)量小點(diǎn),處理速度取決于代碼怎么處理。
如果數(shù)據(jù)量不大,兩種方法區(qū)別不明顯,建議用sql語句。

66. SQL內(nèi)關(guān)聯(lián)和外關(guān)聯(lián)的區(qū)別?

內(nèi)關(guān)聯(lián)是求交集
外觀連是以主表為標(biāo)準(zhǔn),去附表找需要的信息

67. Linux系統(tǒng)TOP命令介紹?

顯示,管理執(zhí)行中的程序 就是任務(wù)管理器

68.liunx磁盤滿了,怎么處理?

#ls –bailR /home >;files.txt
#diff filesold.txt files.txt

69.Linux系統(tǒng)操作的指令說一下:增加,刪除,復(fù)制,移動(dòng)等問題?

目錄操作
        cd usr/                            切換到該目錄下usr目錄
        cd ..                              切換到上一層目錄
        cd /                               切換到系統(tǒng)根目錄
        mkdir 目錄名稱                      創(chuàng)建目錄
        ls       目錄名稱                   查詢該目錄下所有的目錄和文件
        ls [-a]  目錄名稱                   查詢該目錄下所有的目錄和文件,包含隱藏文件
        ls [-l]   目錄名稱                  查詢該目錄下所有的目錄和文件的詳細(xì)信息
        find / -name 目錄名稱               查找/root下的目錄(文件)
        mv 目錄名稱 新目錄名稱                 修改目錄名稱
        mv 目錄名稱 目錄的新位置               剪切
        cp -r 目錄名稱 目錄的目標(biāo)位置          拷貝
        rm -rf  目錄                        強(qiáng)制刪除目錄

文件操作
        touch 文件名稱                      創(chuàng)建空文件
        cat/more/less/tail 文件            查看文件內(nèi)容
        tail -f 文件                       動(dòng)態(tài)查看/實(shí)時(shí)查看文件(日志)
        grep 要搜索的字符串 要搜索的文件       關(guān)鍵字搜索
        vi/vim  文件                       修改文件內(nèi)容
        rm -rf 文件                        強(qiáng)制刪除文件
文件的打包
        tar -zcvf 文件名.tar               要打包的文件

文件的解壓   
        tar -xvf 文件名.tar

擴(kuò)充:將文件解壓到固定位置
        tar -xvf 文件名.tar -C 指定解壓的位置

查詢當(dāng)前所在位置
        pwd      

查看進(jìn)程
        ps -ef | grep 進(jìn)程名稱(tomcat/mysql)

殺死進(jìn)程
        kill -9 進(jìn)程pid

查看端口號(hào)
        netstat -an | grep 端口號(hào)(3306)
查看服務(wù)器ip
        ifconfig

查看網(wǎng)絡(luò)是否能正常使用
        ping 外網(wǎng)地址                     查看是否能訪問外網(wǎng)
        ping 內(nèi)網(wǎng)ip                       查看是否能訪問內(nèi)網(wǎng)

權(quán)限命令
        chmod 777 文件        賦權(quán)

查看cpu
        top

查看磁盤信息
        df -h

查看內(nèi)存信息
        free    

關(guān)機(jī)命令
        shutdown -h now          立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
        shutdown -h 10:23
        shutdown -h +10          系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī)

重新啟動(dòng)
        reboot                    重新啟動(dòng)操作系統(tǒng)

70.Linux系統(tǒng)日志查看指令,壓縮,解壓指令等問題?

Tar -n logcat 查看系統(tǒng)日志
tar -zcvf 文件名:壓縮
tar -xvf 文件名 :解壓

71. Linux上能不能直接進(jìn)行性能測試?

不能,腳本需要通過windows調(diào)試好后,才能在Linux上運(yùn)行,運(yùn)行的時(shí)候,只能通過non GUL形式進(jìn)行啟動(dòng)jmeter,但需要注意的是,csv文件在windows上與LInux上要統(tǒng)一路徑,最好使用相對路徑,放到統(tǒng)一目錄下邊。

72.說幾個(gè)常用的adb指令?

Adb install(apk的文件路徑) 安裝軟件到手機(jī)或者模擬器
Adb uninstall(包名) 卸載手機(jī)或模擬器上的某款軟件
Adb devices 查看與當(dāng)前電腦連接的移動(dòng)設(shè)備
Abd adb start-server 啟動(dòng)
Adb adb kill-server 殺死
Adb logcat 查看日志
Adb logcat -v time process > 

73.軟件負(fù)蓋安裝的adb命令?

adb install -r xx.apk覆蓋低版本的
adb install -r -d  覆蓋高版本的

74.性能測試的Adb命令?

adb shell dumpsys cpuinfo  查看手機(jī)cpu的使用情況
adb shell getprop|findstr dalvik   手機(jī)系統(tǒng)自己運(yùn)行的內(nèi)存使用

75.說幾個(gè)Monkey指令?

adb shell monkey -p 包名
adb-shell--ignore-crashes 忽略崩潰
adb-shell--ignore-timeouts 忽略延時(shí)
adb-shell--ignore-throttle 延時(shí)毫秒值
adb-shell--pct-touch--pct-motion 觸摸與滑動(dòng)事件的比例

adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v 1000 >c:\login\c.txt

76. Postman與jmeter的區(qū)別是什么?

  1. 用例組織不同,jmeter的組織是比較扁平,首先他沒有工作空間的概念,直接就是測試計(jì)劃,而postman功能上更簡單,組織方式是輕量級(jí),他主要針對的是單個(gè)的http請求。
  2. 支持接口的類型與測試的類型不同:jmeter的功能更強(qiáng)大,可以通過各種類型的接口,不支持的也可以通過網(wǎng)上或者自己編寫的插件進(jìn)行擴(kuò)展,而postman更輕量級(jí),定位不同,可用來測試Rest接口。
  3. 配置不同:jmeter可以在線程組里添加http,tcp,而postman只支持Rest接口。

77. Postman做哪些操作?

Postman是一款功能超級(jí)強(qiáng)大的用于發(fā)送 HTTP 請求的 Chrome插件 。做web頁面開發(fā)和測試的人員應(yīng)該是無人不曉無人不用!其主要特點(diǎn) 特點(diǎn)是可以創(chuàng)建和發(fā)送任何的HTTP請求。

78. 瀏覽器的兼容性測試是怎么測試的?

大型的、用戶群體多的網(wǎng)站都需要做瀏覽器兼容性測試,需要測試主流的瀏覽器(除特定要求的瀏覽器以外)
測試的內(nèi)容:一般是頁面的排版,頁面格式,字體,顏色,下拉菜單,復(fù)選框等測試(UI:CSS,HML,Js在不同瀏覽器下的表現(xiàn))
再就是對功能進(jìn)行檢查

為什么選擇這幾個(gè)瀏覽器?

原因:以瀏覽器內(nèi)核分類瀏覽器進(jìn)行測試

常見瀏覽器及四大內(nèi)核:

IE、360(兼容模式)、搜狗(兼容模式)(Trident內(nèi)核)

Firefox(Gecko內(nèi)核)

Chrome、360(極速模式)、搜狗(極速模式)(Blink內(nèi)核)

Apple Safari(WebKit內(nèi)核)

79. 最近工作功能測試流程?意思是問測過哪些功能?

  • 測試流程:
    A. 待測應(yīng)用在不同的操作系統(tǒng)平臺(tái)上正常運(yùn)行,包括待測試項(xiàng)目能在同一操作系統(tǒng)平臺(tái)的不同版本上正常運(yùn)行;
    B. 待測應(yīng)用能與相關(guān)的其他軟件或系統(tǒng)“協(xié)調(diào)工作”;
  • 測過哪些功能:
    A. 兼容性測試就是測試電腦硬件之間是否有不兼容等問題或軟件問題。
    B. 兼容性測試側(cè)重哪些方面
  1. 向前兼容和向后兼容。向前兼容是指可以使用軟件的未來版本,向后兼容是指可以使用軟件的以前版本。
  2. 不同版本之間的兼容。實(shí)現(xiàn)測試平臺(tái)和應(yīng)用軟件多個(gè)版本之間能夠正常工作。

80. 測試手機(jī)兼容性測試是如何測試的?

一般測試手機(jī)兼容性的時(shí)候會(huì)考慮到手機(jī)的型號(hào),分辨率以及安卓版本號(hào),一般常用的手機(jī)型號(hào)如:華為,錘子,小米,魅族等,一般碎片化會(huì)嚴(yán)重,從Android6.0到Android10.0的版本是不一樣的,而最近的版本號(hào)已經(jīng)到10了,也就是AndroidQ,它是協(xié)助開發(fā)者利用5G,折疊屏,無框屏,設(shè)備內(nèi)置Al等最新技術(shù)繼續(xù)創(chuàng)新,同時(shí)確保用戶安全,隱私及數(shù)字健康。向分辨率這塊大部分是1920*1080,一般會(huì)買真機(jī)去測。。

81. 如何理解壓力、負(fù)載、性能測試測試?

性能測試是一個(gè)較大的范圍,實(shí)際上性能測試本身包含了性能、強(qiáng)度、壓力、負(fù)載等多方面的測試內(nèi)容。
壓力測試是對服務(wù)器的穩(wěn)定性以及負(fù)載能力等方面的測試,是一種很平常的測試。增大訪問系統(tǒng)的用戶數(shù)量、或者幾個(gè)用戶進(jìn)行大數(shù)據(jù)量操作都是壓力測試。
負(fù)載測試是壓力相對較大的測試,主要是測試系統(tǒng)在一種或者集中極限條件下的相應(yīng)能力,是性能測試的重要部分。
100個(gè)用戶對系統(tǒng)進(jìn)行連續(xù)半個(gè)小時(shí)的訪問可以看作壓力測試,那么連續(xù)訪問8個(gè)小時(shí)就可以認(rèn)為負(fù)載測試,1000個(gè)用戶連續(xù)訪問系統(tǒng)1個(gè)小時(shí)也可以看作是負(fù)載測試。
實(shí)際上壓力測試和負(fù)載測試沒有明顯的區(qū)分。測試人員應(yīng)該站在關(guān)注整體性能的高度上來對系統(tǒng)進(jìn)行測試。

82. shell寫腳本

  1. 語法
  2. 執(zhí)行

83. selenium和appium使用

84. Charles和Fiddler如何移動(dòng)端抓包

86. bug流轉(zhuǎn)過程

image

87. Charles功能操作,需要實(shí)操

網(wǎng)絡(luò)抓包
移動(dòng)端抓包
證書安裝
斷點(diǎn)
過濾
模擬慢速網(wǎng)絡(luò)
修改網(wǎng)絡(luò)請求
壓測服務(wù)器
模擬404、403

88. pytest+allure如何生成報(bào)告?

89. requests使用

90. TCP與UDP的區(qū)別,七層網(wǎng)絡(luò)模型

91. 性能測試怎么做的?

做性能需求分析,挑選了用戶使用最頻繁的功能來做性能測試,比如:登陸,打開系統(tǒng)首頁,搜索,提交訂單,確定性能指標(biāo),比如:事務(wù)通過率為100%,90%的事務(wù)響應(yīng)時(shí)間不超過3秒,CPU和內(nèi)存的使用率為70%以下。

搭建性能測試環(huán)境,準(zhǔn)備好性能測試數(shù)據(jù)。

使用Jmeter開發(fā)優(yōu)化腳本,包括:參數(shù)化,斷言,關(guān)聯(lián)等。

設(shè)計(jì)性能測試場景,我們這個(gè)項(xiàng)目做了單用戶單功能循環(huán)200次的基準(zhǔn)測試,然后使用1500個(gè)用戶,執(zhí)行30分鐘的負(fù)載測試,看系統(tǒng)有沒有性能瓶頸;

我們搭建了分布式壓力測試環(huán)境進(jìn)行測試,每臺(tái)壓力機(jī)并發(fā)500個(gè)用戶,并監(jiān)控linux服務(wù)器的CPU,內(nèi)存,IO。

分析性能測試結(jié)果,如果有性能瓶頸,收集相關(guān)的日志提單給開發(fā)修改。

開發(fā)修改好后,回歸性能測試,然后輸出性能測試報(bào)告。

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

  1. Cookie是存放在瀏覽器的,Session是存放在服務(wù)器;
  2. Cookie不是很安全,涉及用戶隱私方面盡量放在Session;
  3. 當(dāng)訪問量大的時(shí)候,Session會(huì)占用服務(wù)器資源
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容