大廠測(cè)試開(kāi)發(fā)面試50題,你能答出幾道?

注意??部分含答案解析
如無(wú)答案可復(fù)制題目自行百度
1、項(xiàng)目經(jīng)驗(yàn)
2、介紹下什么是索引
在關(guān)系數(shù)據(jù)庫(kù)中,索引是一種與表有關(guān)的數(shù)據(jù)庫(kù)結(jié)構(gòu),它可以使對(duì)應(yīng)于表的SQL語(yǔ)句執(zhí)行得更快。索引的作用相當(dāng)于圖書(shū)的目錄,可以根據(jù)目錄中的頁(yè)碼快速找到所需的內(nèi)容。
對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),索引是一個(gè)必選項(xiàng),但對(duì)于現(xiàn)在的各種大型數(shù)據(jù)庫(kù)來(lái)說(shuō),索引可以大大提高數(shù)據(jù)庫(kù)的性能,以至于它變成了數(shù)據(jù)庫(kù)不可缺少的一部分。
Mysql常見(jiàn)索引有:主鍵索引、唯一索引、普通索引、全文索引、組合索引
PRIMARY KEY(主鍵索引) ALTER TABLE table_name ADD PRIMARY KEY ( column )
UNIQUE(唯一索引) ALTER TABLE table_name ADD UNIQUE (column)
INDEX(普通索引) ALTER TABLE table_name ADD INDEX index_name ( column )
FULLTEXT(全文索引) ALTER TABLE table_name ADD FULLTEXT ( column )
組合索引 ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 )
Mysql各種索引區(qū)別:
普通索引(INDEX):最基本的索引,沒(méi)有任何限制
唯一索引(UNIQUE):與”普通索引”類似,不同的就是:索引列的值必須唯一,但允許有空值。
主鍵索引(PRIMARY):它 是一種特殊的唯一索引,不允許有空值。
全文索引(FULLTEXT ):僅可用于 MyISAM 表, 用于在一篇文章中,檢索文本信息的, 針對(duì)較大的數(shù)據(jù),生成全文索引很耗時(shí)好空間。
組合索引:為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則。
3、京東登錄頁(yè)面怎么測(cè)?
4、如果一個(gè)普通用戶,他的百度首頁(yè)打不開(kāi),問(wèn)題怎么定位?寫(xiě)出定位流程。
首先,看下別的頁(yè)面是否能打開(kāi)
如果別的頁(yè)面能打開(kāi),在看下百度的其他頁(yè)面是否能打開(kāi)
如果也能打開(kāi),換個(gè)瀏覽器試試,其他瀏覽器是否能打開(kāi)
其他瀏覽器也不能打開(kāi)的話,說(shuō)明不是瀏覽器的問(wèn)題
看下ip是否正常,用ping命令看看Ping值是多少,ping百度域名
看下DNS是否配置正確
看注冊(cè)表是否正常
實(shí)在沒(méi)有發(fā)現(xiàn)問(wèn)題,看看安全軟件能不能修復(fù)(例如360等)
5、問(wèn)簡(jiǎn)歷上的第一個(gè)項(xiàng)目的詳細(xì)情況,包括測(cè)試用例怎么寫(xiě)?怎么判斷測(cè)試通過(guò)?項(xiàng)目的原理?
6、如果是做功能測(cè)試,能接受嗎?
7、說(shuō)一下你們工作中的測(cè)試流程
8、用她的手機(jī)給我看了下百度貼吧的發(fā)帖功能的界面,給我張紙,讓我寫(xiě)出測(cè)試點(diǎn)(只需要考慮內(nèi)容,表情,添加圖片,@功能),寫(xiě)完講一遍邏輯。
9、針對(duì)發(fā)朋友圈這個(gè)功能設(shè)計(jì)你的測(cè)試用例,請(qǐng)給出用例分類與典型用例場(chǎng)景
10、Java 中的容器有哪些?它們的區(qū)別和特性?
Iterable 接口
Iterable是一個(gè)超級(jí)接口,被Collection所繼承。它只有一個(gè)方法:Iterator<T> iterator() //即返回一個(gè)迭代器
Collection 接口
List 接口:List是有序的 collection
子類:Vector、ArrayList、LinkedList
名稱 擴(kuò)容方式(默認(rèn))線程安全 速度 有效個(gè)數(shù)的屬性
ArrayList增長(zhǎng)50%,線程不安全 快size
Vector 增長(zhǎng)一倍,線程安全 慢elementCount
共同點(diǎn) 如果新增的有效元素個(gè)數(shù)超過(guò)數(shù)組本身的長(zhǎng)度,都會(huì)導(dǎo)致數(shù)組進(jìn)行擴(kuò)容 - remove,add(index,obj)方法都會(huì)導(dǎo)致內(nèi)部數(shù)組進(jìn)行數(shù)據(jù)拷貝的操作,這樣在大數(shù)據(jù)量時(shí),可能會(huì)影響效率 -
Set接口:無(wú)序性,確定性,單一性。所以可以很好的理解,Set是無(wú)序、不可重復(fù)的。同時(shí),如果有多個(gè)null,則不滿足單一性了,所以Set只能有一個(gè)null
子類:HashSet、TreeSet、LinkedHashSet
Queue 接口:此接口用于模擬“隊(duì)列”數(shù)據(jù)結(jié)構(gòu)(FIFO)。新插入的元素放在隊(duì)尾,隊(duì)頭存放著保存時(shí)間最長(zhǎng)的元素
容器名是否有序;是否可重復(fù) null的個(gè)數(shù)
List有序可重復(fù);允許多個(gè)null
Set 無(wú)序不可重復(fù);只允許一個(gè)null
Queue 有序(FIFO)可重復(fù);通常不允許插入null
Map 接口:key-value形式
子類:
HashMap,無(wú)序
HashTable
SortedMap
WeakHashMap
IdentityHashMap
EnumMap
11、Git 的常見(jiàn)操作,如 git stash
git基本操作
git status 查看本次的修改、新建、刪除等信息(new file:新建文件,modified:修改文件,deleted: 刪除的文件)
git pull 拉取代碼;
git add . 添加所有即將提交的文件,
git add fileNamePath添加某個(gè)文件
git commit -'提交的日志' 提交到本地,
git push 提交到git服務(wù)器;
git 另一種提交方式,
git commit -a -m '提交的日志' 添加所有即將提交的文件并提交到本地 ,
git commit -a -m 相當(dāng)于git add . 和 git commi -' '命令的集合,當(dāng)你使用git commit -a -m ' '命令時(shí),就會(huì)執(zhí)行上述兩個(gè)操作;
git 暫存
git stash暫存(存儲(chǔ)在本地,并將項(xiàng)目本次操作還原)
git stash pop 使用上一次暫存,并將這個(gè)暫存刪除,使用該命令后,如果有沖突,終端會(huì)顯示,如果有沖突需要先解決沖突(這就避免了沖突提交服務(wù)器,將沖突留在本地,然后解決)
git stash list 查看所有的暫存
git stash clear 清空所有的暫存
git stash drop [-q|--quiet] [<stash>] 刪除某一個(gè)暫存,在中括號(hào)里面放置需要?jiǎng)h除的暫存ID
git stash apply 使用某個(gè)暫存,但是不會(huì)刪除這個(gè)暫存
git 創(chuàng)建本地分支并推送到服務(wù)器:
創(chuàng)建并切換到分支branchName
git checkout -b branchName
推送本地的branchName(冒號(hào)前面的)分支到遠(yuǎn)程origin的branchName(冒號(hào)后面的)分支(沒(méi)有會(huì)自動(dòng)創(chuàng)建)
git push origin branchName:branchName
刪除分支
刪除本地分支:git branch -d [branchname]
刪除遠(yuǎn)程分支:git push origin --delete [branchname]
合并分支
例如現(xiàn)在有分支master和分支A,要將分支A的代碼合并到master
第一步:切換到分支master,在終端輸入命令
git checkout master
第二步:合并分支
git merge --no-ff -m 'version:3.0.5_buildL19011720' A
第三步:如果有沖突解決沖突,解決沖突后add . -> git commit -m '提交原因'
第四步:
git push
12、Java 的接口與抽象類的區(qū)別
相同點(diǎn):
(1)都不能被實(shí)例化
(2)接口的實(shí)現(xiàn)類或抽象類的子類都只有實(shí)現(xiàn)了接口或抽象類中的方法后才能實(shí)例化。
不同點(diǎn):
(1)接口只有定義,不能有方法的實(shí)現(xiàn),java 1.8中可以定義default方法體,而抽象類可以有定義與實(shí)現(xiàn),方法可在抽象類中實(shí)現(xiàn)。
(2)實(shí)現(xiàn)接口的關(guān)鍵字為implements,繼承抽象類的關(guān)鍵字為extends。一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但一個(gè)類只能繼承一個(gè)抽象類。所以,使用接口可以間接地實(shí)現(xiàn)多重繼承。
(3)接口強(qiáng)調(diào)特定功能的實(shí)現(xiàn),而抽象類強(qiáng)調(diào)所屬關(guān)系。
(4)接口成員變量默認(rèn)為public static final,必須賦初值,不能被修改;其所有的成員方法都是public、abstract的。抽象類中成員變量默認(rèn)default,可在子類中被重新定義,也可被重新賦值;抽象方法被abstract修飾,不能被private、static、synchronized和native等修飾,必須以分號(hào)結(jié)尾,不帶花括號(hào)。
(5)接口被用于常用的功能,便于日后維護(hù)和添加刪除,而抽象類更傾向于充當(dāng)公共類的角色,不適用于日后重新對(duì)立面的代碼修改。功能需要累積時(shí)用抽象類,不需要累積時(shí)用接口。
13、TCP 和 UDP 的區(qū)別?如何保證 TCP 的可靠性?
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)協(xié)議屬于傳輸層協(xié)議,他們之間的區(qū)別包括:
1.是否連接:TCP是面向連接的,UDP是無(wú)連接的,TCP的發(fā)送發(fā)要確認(rèn)接收方是否收到數(shù)據(jù)段(3次握手協(xié)議)
2.傳輸可靠性:TCP是可靠的,UDP是不可靠的;TCP在數(shù)據(jù)包接收無(wú)序、丟失或在交付期間被破壞時(shí),負(fù)責(zé)數(shù)據(jù)恢復(fù),它通過(guò)為每個(gè)數(shù)據(jù)報(bào)提供一個(gè)序號(hào)來(lái)完成此恢復(fù),為確保正確收到數(shù)據(jù),TCP要求目標(biāo)計(jì)算機(jī)成功收到數(shù)據(jù)時(shí)發(fā)回一個(gè)確認(rèn)(即ACK),如果在某個(gè)時(shí)限內(nèi)未收到相應(yīng)的ACK,將重新傳送數(shù)據(jù)包。如果網(wǎng)絡(luò)擁塞,這種重新傳送將導(dǎo)致發(fā)送的數(shù)據(jù)包重復(fù),但是接收計(jì)算機(jī)可使用數(shù)據(jù)包的序號(hào)來(lái)確定它是否為重復(fù)數(shù)據(jù)包,并在必要時(shí)丟棄它。UDP協(xié)議不能保證數(shù)據(jù)準(zhǔn)確無(wú)誤的到達(dá)目的地,并不是說(shuō)UDP就完全無(wú)法知道是否發(fā)生了錯(cuò)誤,一個(gè)16位的UDP包包含了一個(gè)字節(jié)長(zhǎng)的頭部和數(shù)據(jù)的長(zhǎng)度,校驗(yàn)碼域使其可以進(jìn)行整體校驗(yàn),如:多媒體數(shù)據(jù)流,不產(chǎn)生任何額外的數(shù)據(jù),即使知道有破壞的包也不進(jìn)行重發(fā)。
3.TCP只支持點(diǎn)對(duì)點(diǎn)通信,UDP支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多的通信模式
4.TCP是面向字節(jié)流的,UDP是面向報(bào)文的(流模式和數(shù)據(jù)報(bào)模式)
5.TCP擁有擁塞控制機(jī)制,UDP沒(méi)有擁塞控制,適合媒體通信
6.TCP要求系統(tǒng)資源較多,UDP較少
7.TCP首部開(kāi)銷(20個(gè)字節(jié))比UDP的首部開(kāi)銷(8個(gè)字節(jié))要大,TCP傳送數(shù)據(jù)段的時(shí)候要給段標(biāo)號(hào),UDP協(xié)議不用
當(dāng)數(shù)據(jù)傳輸?shù)男阅鼙仨氉屛挥跀?shù)據(jù)傳輸?shù)耐暾浴⒖煽刂菩院涂煽啃詴r(shí),TCP是更好地選擇;反之,當(dāng)強(qiáng)調(diào)傳輸性能而不是傳輸?shù)耐暾詴r(shí),如:音頻和多媒體應(yīng)用,UDP是最好的選擇。
對(duì)于可靠性,TCP通過(guò)如下方式進(jìn)行保證:
1.數(shù)據(jù)包校驗(yàn):目的是檢測(cè)數(shù)據(jù)在傳輸過(guò)程中的任何變化,若校驗(yàn)包出錯(cuò),則丟棄報(bào)文不給出響應(yīng),這時(shí)TCP發(fā)送數(shù)據(jù)端超時(shí)后會(huì)重發(fā)數(shù)據(jù)。
2.超時(shí)重發(fā):當(dāng)TCP發(fā)出一個(gè)段之后,啟動(dòng)一個(gè)定時(shí)器,等待目的端確認(rèn)收到這個(gè)報(bào)文段。如果不能及時(shí)收到一個(gè)確認(rèn),將重發(fā)這個(gè)報(bào)文段。
3.對(duì)失序數(shù)據(jù)包重排序:TCP報(bào)文段作為IP數(shù)據(jù)報(bào)來(lái)傳輸,而IP數(shù)據(jù)報(bào)的到達(dá)可能會(huì)失序,因此TCP報(bào)文段的到達(dá)也可能會(huì)失序。TCP將對(duì)失序數(shù)據(jù)進(jìn)行重新排序,然后才交給應(yīng)用層。
4.丟棄重復(fù)數(shù)據(jù):將丟棄重復(fù)數(shù)據(jù)。
5.應(yīng)答機(jī)制:當(dāng)TCP收到來(lái)自另一端的數(shù)據(jù),它將發(fā)送一個(gè)確認(rèn)。
6.流量控制:TCP連接的每一方都有固定大小的緩沖空間。TCP接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù),這可以防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出,這就是流量控制。TCP使用的流量控制協(xié)議是可變大小的滑動(dòng)窗口協(xié)議。
14、打開(kāi)一個(gè)網(wǎng)頁(yè)都發(fā)生了哪些事?
·通過(guò)域名解析獲得URL對(duì)應(yīng)的IP地址
·瀏覽器和服務(wù)器建立TCP連接
·瀏覽器給服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求
·服務(wù)器給瀏覽器發(fā)回一個(gè)HTML響應(yīng)
15、對(duì)工作上的壓力怎么看待?
16、繼續(xù)問(wèn)項(xiàng)目經(jīng)驗(yàn)和技術(shù)難點(diǎn)
17、了解現(xiàn)在的工作環(huán)境,背景等
18、戶口,家庭情況,伴侶工作等
19、問(wèn)上一份工作的公司是做什么的?離職原因?自己的職業(yè)發(fā)展規(guī)劃?
20、遇到的某個(gè)難點(diǎn)是什么?如何解決的?
21、自己解決的最亮點(diǎn)的技術(shù)難點(diǎn)是什么?
22、你用jmeter做什么測(cè)試?
接口測(cè)試
23、如果有一個(gè)登錄接口需要服務(wù)端返回參數(shù),再帶著這個(gè)參數(shù)去請(qǐng)求才能完成登錄,用jmeter 怎么做?
先去請(qǐng)求登陸接口,然后得到登錄的返回值,然后使用json提取器,提取出需要的值,作為參數(shù)傳給下一個(gè)接口。
24、請(qǐng)問(wèn)你們公司是如何做接口測(cè)試的?
第一步:我們要分析出測(cè)試需求,并拿到開(kāi)發(fā)提供的接口說(shuō)明文檔;
第二步:從接口說(shuō)明文檔中整理出接口測(cè)試案例,里面要包括詳細(xì)的入?yún)⒑统鰠?shù)據(jù)以及明確的格式和檢查點(diǎn)。
第三步:和開(kāi)發(fā)一起對(duì)接口測(cè)試案例進(jìn)行評(píng)審。
第四步:結(jié)合開(kāi)發(fā)庫(kù),準(zhǔn)備接口測(cè)試案例中的入?yún)?shù)據(jù)和出參數(shù)據(jù),并整理成csv格式的文件。
第五步:結(jié)合接口測(cè)試案例文檔和csv格式的數(shù)據(jù)文檔,做接口測(cè)試案例的自動(dòng)化案例開(kāi)發(fā)。
第六步,寫(xiě)完自動(dòng)化用例之后開(kāi)始執(zhí)行
第七步,執(zhí)行如有bug,提交至禪道
第八步,開(kāi)發(fā)修改完成后,回歸bug
第九步,完成后做自動(dòng)化持續(xù)集成
1.接口需求調(diào)研
2.接口測(cè)試工具選擇
3.接口測(cè)試用例編寫(xiě)
4.接口測(cè)試執(zhí)行
5.接口測(cè)試回歸
6.接口測(cè)試自動(dòng)化持續(xù)集成
25、接口測(cè)試質(zhì)量評(píng)估標(biāo)準(zhǔn)是什么?
a) 業(yè)務(wù)功能覆蓋是否完整
b) 業(yè)務(wù)規(guī)則覆蓋是否完整
c) 參數(shù)驗(yàn)證是否達(dá)到要求(邊界、業(yè)務(wù)規(guī)則)
d) 接口異常場(chǎng)景覆蓋是否完整
e) 接口覆蓋率是否達(dá)到要求
f) 代碼覆蓋率是否達(dá)到要求
g) 性能指標(biāo)是否滿足要求
h) 安全指標(biāo)是否滿足要求
26、對(duì)接口測(cè)試這塊熟不熟?是怎么測(cè)的?用的什么工具?為什么用 HTTPClient 類庫(kù),覺(jué)得它有什么缺點(diǎn)?用 Fiddler 主要做什么?
27、請(qǐng)問(wèn)你們公司是如何做性能測(cè)試的?請(qǐng)講訴性能測(cè)試的相關(guān)指標(biāo)?
1.做性能需求分析,挑選了用戶使用最頻繁的功能來(lái)做性能測(cè)試,比如:登陸,搜索,提交訂單,確定性能指標(biāo),比如:事務(wù)通過(guò)率為100%,90%的事務(wù)響應(yīng)時(shí)間不超過(guò)5秒,并發(fā)用戶為1000人,CPU和內(nèi)存的使用率為70%以下
2.性能測(cè)試計(jì)劃,明確測(cè)試時(shí)間(通常在功能穩(wěn)定后,如第一輪測(cè)試后進(jìn)行)和測(cè)試環(huán)境和測(cè)試工具的選擇
3.編寫(xiě)性能測(cè)試用例
4.搭建性能測(cè)試環(huán)境,準(zhǔn)備好性能測(cè)試數(shù)據(jù)
5.通過(guò)性能測(cè)試用例,編寫(xiě)性能測(cè)試腳本
6.性能測(cè)試腳本進(jìn)行調(diào)優(yōu),設(shè)置檢查點(diǎn)、參數(shù)化、關(guān)聯(lián)、集合點(diǎn)、事務(wù),調(diào)整思考時(shí)間,刪除冗余的腳本等
7.設(shè)計(jì)性能測(cè)試場(chǎng)景,使用nmon工具監(jiān)控服務(wù)器,運(yùn)行測(cè)試場(chǎng)景
8.分析性能測(cè)試結(jié)果,如果有問(wèn)題(性能瓶頸),收集相關(guān)的日志提單給開(kāi)發(fā)修改
9.開(kāi)發(fā)修改好后,回歸性能測(cè)試
10.編寫(xiě)性能測(cè)試報(bào)告
相關(guān)指標(biāo):響應(yīng)時(shí)間、并發(fā)數(shù)、吞吐率、資源利用率、TPS
28、壓力測(cè)試和負(fù)載測(cè)試的區(qū)別
負(fù)載測(cè)試是模擬實(shí)際軟件系統(tǒng)所承受的負(fù)載條件的系統(tǒng)負(fù)荷,通過(guò)不斷加載(如逐漸增加模擬用戶的數(shù)量)或其它加載方式來(lái)觀察不同負(fù)載下系統(tǒng)的響應(yīng)時(shí)間和數(shù)據(jù)吞吐量、系統(tǒng)占用的資源(如CPU、內(nèi)存)等,以檢驗(yàn)系統(tǒng)的行為和特性,以發(fā)現(xiàn)系統(tǒng)可能存在的性能瓶頸、內(nèi)存泄漏、不能實(shí)時(shí)同步等問(wèn)題
壓力測(cè)試是在高負(fù)載情況下對(duì)系統(tǒng)的穩(wěn)定性進(jìn)行測(cè)試。是在高負(fù)載(大數(shù)據(jù)量、大量并發(fā)用戶等)下的測(cè)試,觀察系統(tǒng)在峰值使用情況下的表現(xiàn),從而發(fā)現(xiàn)系統(tǒng)的功能隱患
負(fù)載測(cè)試:多用戶,用戶數(shù)漸增,持續(xù)同時(shí)發(fā)同一業(yè)務(wù)請(qǐng)求,產(chǎn)出最大TPS
壓力測(cè)試:多用戶,資源使用飽和,持續(xù)同時(shí)發(fā)同一業(yè)務(wù)請(qǐng)求,產(chǎn)出系統(tǒng)瓶頸或使用極限
29、服務(wù)器中一般要監(jiān)控哪些數(shù)據(jù),如何監(jiān)控的,怎么從監(jiān)控?cái)?shù)據(jù)中發(fā)現(xiàn)問(wèn)題?
基礎(chǔ)監(jiān)控和應(yīng)用監(jiān)控。
基礎(chǔ)監(jiān)控包括機(jī)器是否死機(jī),cpu,內(nèi)存,磁盤使用率等;應(yīng)用監(jiān)控包括日志監(jiān)控、端口監(jiān)控、進(jìn)程數(shù)監(jiān)控等。
30、性能測(cè)試用過(guò)嗎?什么情況下用的?主要測(cè)哪些方面?
31、性能測(cè)試關(guān)注哪些指標(biāo)?
相關(guān)指標(biāo):響應(yīng)時(shí)間、并發(fā)數(shù)、吞吐率、資源利用率、TPS
32、對(duì)于多環(huán)境(聯(lián)調(diào)環(huán)境、測(cè)試環(huán)境、預(yù)發(fā)布環(huán)境)如何讓接口用例支持多套環(huán)境,說(shuō)出你的做法
自定義一個(gè)用戶變量,將ip放在變量里,然后接口取變量的值
33、如果接口返回?cái)?shù)十個(gè)字段,如何批量校驗(yàn)這些字段的正確性,請(qǐng)說(shuō)出你的方法?
使用csv進(jìn)行多用例編寫(xiě)
34、假設(shè)系統(tǒng)A調(diào)用系統(tǒng)B,我把B的接口都mock了,進(jìn)行性能測(cè)試,這樣有什么好處和壞處?
好處:防止系統(tǒng)B出錯(cuò)引起測(cè)試錯(cuò)誤;不會(huì)因系統(tǒng)B的開(kāi)發(fā)進(jìn)度影響測(cè)試;mock后可以快速返回結(jié)果,提高測(cè)試效率
壞處:很多情況下無(wú)法完全模擬出服務(wù)器的所有可能的返回情況,另外,mock掉了關(guān)聯(lián)方之后,整個(gè)環(huán)境的連通性可能測(cè)試的不到位。
35、有一天早上打車高峰,滴滴服務(wù)端掛了大概30分鐘,工程師搶修之后,馬上上線,之后又掛了,請(qǐng)問(wèn)有哪些原因會(huì)造成這個(gè)情況?
服務(wù)器內(nèi)存不夠、服務(wù)器超出負(fù)載、并發(fā)量太大、遇到惡意攻擊
36、請(qǐng)問(wèn)Monkey測(cè)試的優(yōu)缺點(diǎn)?
37、如果使用monkey發(fā)現(xiàn)了一個(gè)畢現(xiàn)閃退,請(qǐng)問(wèn)怎么使用monkey重現(xiàn)它?
38、UI 測(cè)試的過(guò)程
39、自動(dòng)化測(cè)試用例怎么來(lái)?
40、你項(xiàng)目中有多少case,通過(guò)率怎么樣?
41、報(bào)告哪里來(lái),主要統(tǒng)計(jì)什么?
自動(dòng)化測(cè)試報(bào)告,在執(zhí)行完用例之后,會(huì)自動(dòng)生成,使用的是allure,主要統(tǒng)計(jì)bug通過(guò)率,失敗率,失敗日志,失敗截圖
42、做自動(dòng)化測(cè)試的目的?
43、如何看待自動(dòng)化和手動(dòng)測(cè)試?怎樣的一個(gè)比例才是健康的?
自動(dòng)化適合做為回歸測(cè)試的主要方式,新上線的功能一般都是用手動(dòng)測(cè)試方式,一些極端和用戶習(xí)慣操作還是手動(dòng)測(cè)試比較方便。盡可能線上穩(wěn)定的功能模塊都做成自動(dòng)化,提供效率
44、你們公司的自動(dòng)化投入產(chǎn)出比怎樣?效益怎樣?
自動(dòng)化主要作為回歸測(cè)試,減少測(cè)試時(shí)間。
45、自動(dòng)化測(cè)試用例的覆蓋率多少?
30%
46、完整運(yùn)行一次自動(dòng)化用例需要多久時(shí)間?
47、什么是分層自動(dòng)化?
金字塔結(jié)構(gòu), 最底層UnitTest,往上接口API/集成起來(lái)的service, 最上面UI自動(dòng)化
po模式:
1.元素的配置文件(元素的配置文件就是元素控件的路徑或者id)
2.page類(通過(guò)讀取配置文件獲取元素的控件,元素對(duì)象和元素的原子操作,一個(gè)頁(yè)面一個(gè)配置文件)
3.action類(通過(guò)原子操作去拼接業(yè)務(wù),比如我要執(zhí)行登錄,點(diǎn)擊按鈕,輸入用戶名密碼都在action中操作)
4.測(cè)試用例類(testcase,調(diào)用業(yè)務(wù)實(shí)現(xiàn)斷言)
48、你的測(cè)試數(shù)據(jù)是怎么準(zhǔn)備的?
提前寫(xiě)在配置文件中的或者直接寫(xiě)在Excel中,讀取excel中的數(shù)據(jù)
49、測(cè)試腳本的維護(hù)成本是怎么樣的?
如果業(yè)務(wù)不變的話,基本上不用修改腳本,如果業(yè)務(wù)有變化,則去找對(duì)應(yīng)的測(cè)試腳本進(jìn)行修改
50、問(wèn)第一個(gè)項(xiàng)目的測(cè)試框架的搭建、怎么用數(shù)據(jù)驅(qū)動(dòng)測(cè)試?
轉(zhuǎn)載自:http://navo.top/FFr6Nj
-------- THE END --------
