【螞蟻金服】javascript
1、自我介紹html
2、Tcp和udp:java
1.鏈路層(數據鏈路層/網絡接口層):包括操做系統中的設備驅動程序、計算機中對應的網絡接口卡web
2.網絡層(互聯網層):處理分組在網絡中的活動,好比分組的選路數據庫
3.運輸層:主要爲兩臺主機上的應用提供端到端的通訊編程
4.應用層:負責處理特定的應用程序細節瀏覽器
3、TCP三次握手和四次分手安全
三次握手服務器
四次握手網絡
主動方A收到了FIN信號,返回ACK信號給被動方B,表示從被動方B到主動方A的鏈接關閉了,也就是被動方不能再發送數據給主動方
4、Dns的做用
DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串
DNS系統:經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析),DNS協議運行在UDP協議之上,使用端口號53
5、接口和抽象類的區別
接口是抽象方法的集合。若是一個類實現了某個接口,那麼它就繼承了這個接口的抽象方法。這就像契約模式,若是實現了這個接口,那麼就必須確保使用這些方法。接口只是一種形式,接口自身不能作任何事情
抽象類是用來捕捉子類的通用特性的 。它不能被實例化,只能被用做子類的超類。抽象類是被用來建立繼承層級裏子類的模板
6、怎麼理解測試這項工做的
就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據須要編寫不一樣的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例後,須要跟蹤故障,以確保開發的產品適合需求。使用人工或者自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否知足規定的需求或弄清預期結果與實際結果之間的差異
7、Qtp怎麼使用的
QTP:QuickTest Professional,關鍵字驅動(如控件)的功能測試工具,可以對各類編程語言開發的軟件進行功能測試,能夠用VBScript腳本語言編寫程序
執行計劃的步驟
建立測試腳本:按照計劃錄製腳本並保存
加強測試腳本
執行測試
分析測試結果
http://www.javashuo.com/article/p-caweufbh-ga.html
8、寫測試用例
測試用例主要由8部分構成:所屬的模塊、名稱、編號、等級、描述、預製條件、操做步驟、預期結果
9、Linux
經常使用命令:
10、軟件測試裏的元素定位
非xPath方式和xPath方式
11、TestNG怎麼使用???
一、Selenium是瀏覽器自動化工具,主要用來Web的自動化測試
TestNG是一個設計用來簡化普遍的測試需求的測試框架
編寫測試的過程:
編寫測試的業務邏輯並在代碼中插入TestNG Annotation
將測試信息添加到testng.xml文件或者build.xml中
運行TestNG
注:TestNG設計的出發點,不只僅是單元測試,並且能夠用於集成測試。設計目標的不一樣,對比junit的只適合用於單元測試
二、測試信息尤爲是測試數據再也不寫死在測試代碼中,好處就是修改測試數據時不須要修改代碼/編譯了,從而有助於將測試人員引入單元測試/集成測試
三、註解:
@BeforeSuite: 被註釋的方法將在全部測試運行前運行
@AfterSuite:被註釋的方法將在全部測試運行後運行
@BeforeTest: 被註釋的方法將在測試運行前運行
@AfterTest: 被註釋的方法將在測試運行後運行
@BeforeGroups: 被配置的方法將在列表中的gourp前運行。這個方法保證在第一個屬於這些組的測試方法調用前當即執行。
@AfterGroups: 被配置的方法將在列表中的gourp後運行。這個方法保證在最後一個屬於這些組的測試方法調用後當即執行。
@BeforeClass: 被註釋的方法將在當前類的第一個測試方法調用前運行。
@AfterClass: 被註釋的方法將在當前類的全部測試方法調用後運行。
@BeforeMethod: 被註釋的方法將在每個測試方法調用前運行。
@AfterMethod: 被註釋的方法將在每個測試方法調用後運行。
屬性:
@alwaysRun 對於每一個bufore方法(beforeSuite, beforeTest, beforeTestClass 和 beforeTestMethod, 可是不包括 beforeGroups)
若是設置爲true,被配置的方法將老是運行而無論它屬於哪一個組。
對於after方法(afterSuite, afterClass, ...): 若是設置爲true,被配置的方法甚至在一個或多個先調用的方法失敗或被忽略時也將運行。
@dependsOnGroups 這個方法依賴的組列表
@dependsOnMethods 這個方法依賴的方法列表
@enabled 這個類的方法是否激活
@groups 這個類或方法所屬的分組列表
@inheritGroups 若是設置爲true,這個方法被屬於在類級別被@Test annotation指定的組
@DataProvider 標記一個方法用於爲測試方法提供數據。
被註釋的方法必須返回Object[][], 其中每一個Object[]能夠指派爲這個測試方法的參數列表。從這個DataProvider接收數據@Test方法須要使用一個和當前註釋相同名稱的dataProvider名稱
@name 這個DataProvider的名稱
@Factory 標記方法做爲一個返回對象的工廠,這些對象將被TestNG用於做爲測試類。這個方法必須返回Object[]
@Parameters描述如何傳遞參數給@Test方法
value 用於填充這個方法的參數的變量列表
@Test 標記一個類或方法做爲測試的一部分
@ alwaysRun 若是設置爲true,這個測試方法將老是運行,甚至當它依賴的方法失敗時
@ dataProvider 這個測試方法的data provider的名稱
@ dataProviderClass 用於查找data provider的類。
若是不指定,將在當前測試方法所在的類或者它的基類上查找data provider。
若是這個屬性被指定, 則data provider方法須要是指定類的static方法。
@ dependsOnGroups 當前方法依賴的組列表
@ dependsOnMethods 當前方法依賴的方法列表
@ description 當前方法的描述
@ enabled 當前類的方法/方法是否被激活
@ expectedExceptions 測試方法指望拋出的異常列表。若是沒有異常或者拋出的不是列表中的任何一個,當前方法都將標記爲失敗.
@ groups 當前類/方法所屬的組列表
@ invocationCount 當前方法被調用的次數
@ successPercentage 當前方法指望的成功率
@ sequential 若是設置爲true,當前測試類上的全部方法保證按照順序運行。甚至測試們在parallel="true"的狀況下.
@ 這個屬性只能用於類級別,若是用於方法級別將被忽略。
@ timeOut 當前方法允許花費的最大時間,單位毫秒。
@ threadPoolSize 當前方法的線程池大小。方法將被多線程調用,次數由invocationCount參數指定
注意:若是invocationCount沒有指定則這個屬性將被忽略
https://blog.csdn.net/lykangjia/article/details/56485295
12、事務(DB)
四大特性:數據庫事務(Database Transaction) ,是指做爲單個邏輯工做單元執行的一系列操做,要麼徹底地執行,要麼徹底地不執行。原子性:指事務包含的全部操做要麼所有成功,要麼所有失敗回滾
事務
不考慮事務的隔離性,會發生的幾種問題:
事務非獨立執行時發生的一種現象。例如事務T1對一個表中全部的行的某個數據項作了從「1」修改成「2」的操做,這時事務T2又對這個表中插入了一行數據項,而這個數據項的數值仍是爲「1」而且提交給數據庫。
MySQL數據庫爲咱們提供的四種隔離級別:
① Serializable (串行化):可避免髒讀、不可重複讀、幻讀的發生。
② Repeatable read (可重複讀):可避免髒讀、不可重複讀的發生。
③ Read committed (讀已提交):可避免髒讀的發生。
④ Read uncommitted (讀未提交):最低級別,任何狀況都沒法保證
十3、假如你如今來測試登錄這個模塊的話,你怎麼測試
(1)基本功能測試點
(2)頁面測試
(3)安全測試
十4、你是測試工程師,如何保證軟件的質量
從兩個角度:1.質量是全員質量,公司每一個成員都有責任參與質量保證。2.從測試角度來保證質量,測試也分爲多個層次。
一、質量管理
(1)代碼質量:開發經過單元測試保證
(2)讓用戶參與UAT測試,保證用戶體驗(使用質量)
(3)引入QA,保存過程環節質量
(4)系統測試工程師保證系統質量知足需求
二、質量保證
(1)測試策略:質量是多維度的,功能測試、性能測試、兼容性測試等多種測試類型的結合
(2)用例質量:採用合適的用例方法,如何進行需求分析,用例評審
(3)執行質量:如何保證執行深度(界面、關聯模塊、數據庫、日誌)與廣度(系統測試類型
(4)缺陷質量:Bug評審,引入合適的Bug流程
(5)過程質量:合理的軟件測試流程,測試過程監控