1. 程式人生 > >接口相關概念

接口相關概念

通過 對象 本質 登錄 面向過程編程 舉例 ui自動化 就是 多層

1、分層的自動化測試

所謂傳統的自動化測試我們可以理解為基於產品UI層的自動化測試,它是將黑盒功能測試轉化為由程序或工具執行的一種自動化測試。分層自動化測試提倡的是從黑盒(UI)單層到黑白盒多層的自動化測試體系,從全面黑盒自動化測試到對系統的不同層次進行自動化測試。即UI界面層(UI自動化測試,js自動化測試)、業務邏輯層(集成接口測試,web接口測試)、數據處理層(模塊/單元測試)

1.1單元測試與模塊測試

單元測試是應用程序的最小可測試部分;在面向過程編程中,單元也可以是整個模塊,但常見的是單個函數或過程;在面向對象編程中,單元通常是整個接口,例如類,但可以是單獨的方法;單元測試多數情況下是由程序員自己完成的。

模塊測試是針對具有明顯功能特征的代碼塊進行的測試;模塊測試多數情況下由其他程序員或測試人員進行。

單元測試更強調的是程序的最小可測試單元;而模塊測試更強調被測試程序功能的完整性。

2、接口測試

接口大致分為兩類:程序接口(也可以看作是程序模塊接口,具體到程序中一般就是提供了輸入輸出的類、方法或函數,一般需要使用與開發程序接口相同的語言)和協議接口(一般是指系統通過不同的協議提供的接口,這種類型的接口對底層代碼做了封裝,通過協議的方式對外提供調用,不受語言的限制)

接口的分類

2.1系統與系統之間的接口(系統A><B)

系統與系統之間的接口,既可以是公司內部不同系統之間調用的接口,也可以是不同公司不同系統之間調用的接口。對於後者,如微信、微博所提供的第三方登錄接口

2.2下層服務隊上層服務的接口(XX系統。應用層><service><DB)

應用層,可以認為是系統所提供的UI層功能,對於web系統來說,就是瀏覽器頁面上所提供的功能,如登錄,註冊,查詢,刪除等。

service層,可以理解為服務器所提供數據的處理。

DB層,數據庫主要用來存放數據,例如用戶的個人信息、商品的信息等等

舉例說明:應用層實現一個用戶查詢的功能,需要用戶輸入查詢的關鍵字,並顯示查詢結果。當用戶使用查詢功能時,首先底層調用service層所提供的查詢接口,查詢接口得到應用層調用的查詢數據;然後再通過DAO訪問數據庫,根據用戶輸入的查詢數據,查詢數據庫中的數據;最後,將查詢到的數據庫數據返回給應用層,用戶在應用層看到查詢結果。

在這個過程中,各層之間的交互就是通過接口,應用層與service主要通過HTTP接口。service層與DB層主要通過DAO(Data Access Object)數據庫訪問接口。

2.3系統內部,服務與服務之間的調用(XX系統。service><service><service)

系統內部,服務與服務之間的調用,大多數情況下是指程序之間的調用。

舉例說明:假設系統開發一個用戶查詢接口,輸入用戶名,返回用戶信息(性別、年齡、手機號、郵箱地址等),如果用戶不存在則返回null。現在需要新開發一個用戶抽獎的接口,該接口需要用戶名和抽獎活動id,抽獎接口得到用戶名後可以調用用戶查詢接口,如果用戶查詢接口返回null,那麽抽獎接口就可以直接返回用戶不存在了。在這個例子中,用戶抽獎接口調用的就是用戶查詢接口。

這裏的用戶查詢接口和抽獎接口本質上就是程序開發的函數或方法,提供入參與返回值

3、編程語言中的interface

接口在java中是指一個抽象類型,是抽象方法的集合,一個類通過繼承接口的方式,從而來繼承接口的抽象方法。

接口並不是類。類描述對象的屬性和方法。接口則包含類要實現的方法。接口無法被實例化,但是可以被實現。一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明為抽象類。(先創建一個接口,接口內有方法;新建一個類繼承接口,將方法內傳值;實例化類)

一般所研究的接口測試為2,而並不是interface

接口相關概念