1、自動化測試怎么做距辆?
參考答案:
自動化測試余佃,是在手工測試之后進行的,是將手工測試用例轉(zhuǎn)化為自動化測試腳本跨算,用于回歸測試爆土。
首先,我們會對手工測試用例進行評估诸蚕,一般選取正常場景的步势,復(fù)雜度不高,復(fù)用性高手工測試用例來轉(zhuǎn)化為腳本背犯。我們是用selenium工具來實現(xiàn)自動化坏瘩,采用python腳本語言,基于unittest框架實現(xiàn)漠魏。首先倔矾,我們會構(gòu)建測試套,測試套包含public部分(包括測試用例中公共的部分)柱锹,testCases(存放測試用例)哪自,reports(存放測試報告),runAllCases(用于運行項目自動化用例)等奕纫,腳本調(diào)試完后提陶,我們會用jenkins持續(xù)集成工具,設(shè)置腳本每天晚上8點跑一遍腳本匹层,跑完后生成html格式的自動化測試報告隙笆,并自動把測試結(jié)果以郵件的形式發(fā)送給指定的腳本負責(zé)人锌蓄,相關(guān)人員第二天上班第一時間就要檢查測試報告中有沒有失敗的腳本,如果失敗撑柔,就定位一下腳本失敗的原因瘸爽,(失敗的原因:1)、可能是測試環(huán)境不穩(wěn)定铅忿;2)剪决、開發(fā)修改了代碼沒通知到測試人員修改腳本;3)檀训、開發(fā)引入了新的問題)柑潦,如果是腳本問題,就修改腳本峻凫,如果是系統(tǒng)的問題渗鬼,就提交問題單給開發(fā)修改。
2荧琼、測試腳本用到了哪些技術(shù)譬胎?
參考答案:元素定位,表單切換命锄,模塊調(diào)用堰乔,獲取指定文本信息等等,腳本是基于python自帶的unittest單元測試框架脐恩,采用了模塊化方式編寫镐侯,把復(fù)用性高的元素封裝到模塊中,如果腳本需要用到對應(yīng)的元素被盈,直接調(diào)用就可以了析孽,減少了冗余代碼,如果元素發(fā)生變化只怎,只需要調(diào)整元素封裝的代碼就可以了袜瞬,提高測試用例的可維護性。
xpath和CSS定位方式的區(qū)別:
1身堡、語法不一樣邓尤;
2、CSS定位比較穩(wěn)定贴谎。
3汞扎、腳本怎么組織的?
參考答案:構(gòu)建測試套擅这,測試套包含public部分(包括測試用例中公共的部分)澈魄,testCases(存放測試用例),reports(存放測試報告)仲翎,runAllCases(用于運行項目自動化用例)痹扇,測試腳本使用的是python的unittest單元測試框架組織管理铛漓,將所有測試腳本通過單元測試框架組織起來運行,這樣做的好處是鲫构,維護起來方便浓恶,可以生成測試html格式的測試報告,報告包括:測試用例结笨,通過數(shù)包晰,失敗數(shù)。
4炕吸、自動化率多少伐憾?
一般是30%到40%
5、問:你們自動化腳本的通過率是多少算途?(注意這個題目的意思)
參考答案:這個說不準(zhǔn)塞耕,如果沒有什么異常情況,自動化腳本都是100%運行通過嘴瓤;如果異常情況比較多,比如出現(xiàn)測試環(huán)境不穩(wěn)定莉钙,或者開發(fā)修改了代碼沒通知到測試人員及時修改腳本廓脆,又或者開發(fā)引入了新的問題等等,自動化腳本通過率可能80%都不到磁玉。
6停忿、用那個方法判斷元素是否顯示
is_displayed()
7.你曾經(jīng)都寫過多少自動化測試用例?
這個具體沒有算過蚊伞。但是只要有時間席赂,模塊穩(wěn)定的功能都會寫。就拿上個項目來說时迫,自動化測試用例大概寫了將近有70-80條這樣子吧颅停。
8、python3 的數(shù)據(jù)類型有哪些掠拳?
Number(數(shù)字)
String(字符串)
List(列表)
Tuple(元組)
Sets(集合)
Dictionary(字典)
不可變數(shù)據(jù)(四個):Number(數(shù)字)癞揉、String(字符串)、Tuple(元組)溺欧、Sets(集合)喊熟;
可變數(shù)據(jù)(兩個):List(列表)、Dictionary(字典)姐刁。
9芥牌、面:unittest框架了解嗎?
參考答案:unittest框架聂使,由setUp()--環(huán)境預(yù)置壁拉,testCase()--- 測試用例 tearDown()----環(huán)境恢復(fù)谬俄,三大部分組成,unittest框架可組織執(zhí)行測試用例扇商,并且提供豐富的斷言方法凤瘦,判斷測試用例是否通過,最終生成測試結(jié)果案铺。
10蔬芥、app自動化做過嗎?
參考答案:沒有做過控汉,不過和web端自動化的測試思路差不多的笔诵,也要用到元素定位,unittest框架這些姑子,使用appium工具乎婿,如果以后工作需要,我會利用工作之外的時間街佑,買這方面的書或到網(wǎng)上找這方面的資料來學(xué)習(xí)谢翎。
11、怎樣用python連接mysql數(shù)據(jù)沐旨。
參考答案:我們之前主要是用python語言來寫web端的自動化測試腳本森逮,沒有連過mysql數(shù)據(jù)庫,到時候工作需要的話磁携,學(xué)一下很快就能上手了褒侧。
PS:確實沒接觸過的知識,先告訴人家谊迄,你確實沒做過闷供,如果以后工作需要,你能夠很快學(xué)會统诺。
12歪脏、用python做過接口自動化嗎?
參考答案:我們之前主要是用python語言來寫web端的自動化測試腳本篙议,接口測試是用Jmeter來做的唾糯,用python寫接口的腳本也在網(wǎng)上學(xué)習(xí)過,但是工作中沒用用過鬼贱,到時候工作需要的話移怯,再學(xué)一下應(yīng)該沒問題。
13这难、元素定位失敗的原因
1)舟误、等待時間太短
2)、元素不唯一
3)姻乓、元素值是動態(tài)值
4)嵌溢、元素在另外一個表單
5)眯牧、元素在另外一個頁面
6)、元素在前端是隱藏元素
面:怎么提高自動化測試用例的穩(wěn)定性
我:使用多種定位方式去定位赖草,比如try… except学少,保證測試環(huán)境的獨立性,在一些失敗處增加等待時長sleep
面:你覺得自動化有什么缺陷
我:運行速度比較慢秧骑,實現(xiàn)成本高版确,需要一定的代碼能力才能維護
面:怎么去提升自動化腳本的運行速度
我:不要盲目增加一些sleep,用一些配置比較好的電腦或者使用一些更加支持自動化的瀏覽器乎折,比如谷歌绒疗,火狐這些
面:模塊化編程有什么優(yōu)點
我:減少了一些冗余的代碼,讓測試更具有可讀性骂澄,提升了測試用例的可維護性
面:你自動化的執(zhí)行策略是什么
我:每次代碼有提交就執(zhí)行吓蘑,然后使用持續(xù)集成工具每日定時執(zhí)行
面:什么樣的項目適合自動化
需求變動不頻繁,迭代周期長