1、請你分別寫出OSI的七層網絡結構圖和TCP/IP的五層結構
OSI的七層結構從上到下依次是應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。TCP/IP的五層結構分別是應用層、運輸層、網絡層、鏈路層、物理層。
2、請你詳細解釋一下IP的定義,在哪個層上面,主要有什么作用?TCP與UDP呢?
IP在網絡層,TCP和UDP在傳輸層,TCP/IP是傳輸控制協議/網際協議(Transmission Control Protocol / Internet Protocol)。TCP/IP之所以流行部分原因是它可以用在各種各樣的信道和底層協議之上。確切地說,TCP/IP是一組包括TCP/IP,UDP(User Datagram Protocol)、ICMP(Internet Control Message Protocol)和其他一些協議的協議組。TCP/IP並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的七層抽象參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層、而TCP/IP采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。這4層分別為:應用層是應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程控制訪問協議(Telnet)等。傳輸層提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到。
3、全局變量和局部變量有什么區別?是怎么實現的?操作系統和編譯器是怎么知道的
主要區別是變量的作用范圍不同、全局變量是屬於在全局范圍內都有效,而局部變量只在聲明此變量的作用域內有效。全局變量是屬於實例的,在初始化對象的時候初始化,生命周期與該實例相同,之所以叫全局變量是因為在該實例的所有方法或屬性都可以引用;局部變量是在實例方法內或static塊中,生命周期從調用該方法到該方法退出,並且只有該方法能夠引用之。全局變量和局部變量另一個區別是在存儲器中位置不同,具體說,全局變量存儲在數據段中,局部變量都有可能,一般來說存儲在堆棧段。
操作系統和編譯器通過內存分配的位置來知道全局變量在全局數據段,並且在程序被運行的時候被加載。
編譯器通過語法詞法的分析,判斷出是全局變量還是局部變量。若是全局變量的話,編譯器在將源碼翻譯成二進制代碼時就為全局變量分配好一個虛擬地址,所以程序在對全局變量的操作時是對一個硬編碼的地址操作。
局部變量,編譯時不分配空間,而是以相對ebp或esp的偏移量來表示局部變量的地址,所以,局部變量內存是在局部變量所在的函數被調用時才真正分配。以匯編的角度來看,函數執行時,局部變量在棧中分配,函數調用完畢釋放局部變量對應的內存,另外,局部變量可以直接分配在寄存器中。
操作系統通過變量的分配地址就可以判斷出是局部變量和全局變量。
4、白盒測試和黑盒測試、回歸測試是什么?
白盒測試是根據代碼實現設計測試用例。黑盒測試是根據業務邏輯來設計測試用例、回歸測試是在開發修復完BUG后進行測試用例回歸。
5、單元測試、集成測試、系統測試的側重點是什么?
單元測試的側重點是內部邏輯的正確性。集成測試的側重點是與外部的銜接是否正確。系統測試的側重點是整個系統的流程是否通暢。
6、一個缺陷測試報告的組成有哪些
缺陷編號、操作、結果、預期結果、錯誤原因、如何修復
7、基於web信息管理系統測試時應考慮的因素有哪些?
功能、性能、安全性
8、簡述缺陷的生命周期
缺陷提交、缺陷分配、缺陷已修改、缺陷關閉