下面是范文網(wǎng)小編整理的軟件測試工程師筆面試試題3篇(軟件測試工程師面試一般常見問題匯總),供大家閱讀。
軟件測試工程師筆面試試題1
Java 軟件工程師面試筆試題.txt﹃根網(wǎng)線''盡賺了多少人的青春い有時候感動的就是身邊微不足道的小事。﹎破碎不是最殘酷的 最殘酷的是踩著這些碎片卻假裝不疼痛 固執(zhí)的尋找﹎將來就算我遇見再怎么完美的人,都有一個缺點,他不是你,_____下輩子要做男生,娶一個像我這樣的女生。
一、你對MVC的理解,MVC有什么優(yōu)缺點?結(jié)合Struts,說明在一個Web應(yīng)用如何去使用? 答:
MVC設(shè)計模式(應(yīng)用觀察者模式的框架模式)
M: Model(Business process layer),模型,操作數(shù)據(jù)的業(yè)務(wù)處理層,并獨(dú)立于表現(xiàn)層(Independent of presentation)。
V: View(Presentation layer),視圖,通過客戶端數(shù)據(jù)類型顯示數(shù)據(jù),并回顯模型層的執(zhí)行結(jié)果。
C: Controller(Control layer),控制器,也就是視圖層和模型層橋梁,控制數(shù)據(jù)的流向,接受視圖層發(fā)出的事件,并重繪視圖
MVC框架的一種實現(xiàn)模型 模型二(Servlet-centric):
JSP+Servlet+JavaBean,以控制為核心,JSP只負(fù)責(zé)顯示和收集數(shù)據(jù),Sevlet,連接視圖和模型,將視圖層數(shù)據(jù),發(fā)送給模型層,JavaBean,分為業(yè)務(wù)類和數(shù)據(jù)實體,業(yè)務(wù)類處理業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)實體,承載數(shù)據(jù),基本上大多數(shù)的項目都是使用這種MVC的實現(xiàn)模式。
StrutsMVC框架(Web application frameworks)
Struts是使用MVC的實現(xiàn)模式二來實現(xiàn)的,也就是以控制器為核心。
Struts提供了一些組件使用MVC開發(fā)應(yīng)用程序:
Model:Struts沒有提供model類。這個商業(yè)邏輯必須由Web應(yīng)用程序的開發(fā)者以JavaBean或EJB的形式提供
View:Struts提供了action form創(chuàng)建form bean, 用于在controller和view間傳輸數(shù)據(jù)。此外,Struts提供了自定義JSP標(biāo)簽庫,輔助開發(fā)者用JSP創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序,應(yīng)用程序資源文件保留了一些文本常量和錯誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。
Controller:Struts提供了一個核心的控制器ActionServlet,通過這個核心的控制器來調(diào)用其他用戶注冊了的自定義的控制器Action,自定義Action需要符合Struts的自定義Action規(guī)范,還需要在的特定配置文件中進(jìn)行配置,接收J(rèn)SP輸入字段形成Action form,然后調(diào)用一個Action控制器。Action控制器中提供了model的邏輯接口。
二、什么是WebService? 答:
WebService是一個SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依賴于平臺,可以實現(xiàn)不同的語言間的相互調(diào)用,通過Internet進(jìn)行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互。WebService實現(xiàn)不同語言間的調(diào)用,是依托于一個標(biāo)準(zhǔn),webservice是需要遵守WSDL(web服務(wù)定義語言)/SOAP(簡單請求協(xié)議)規(guī)范的。WebService=WSDL+SOAP+UDDI(webservice的注冊)
Soap是由Soap的part和0個或多個附件組成,一般只有part,在part中有Envelope和Body。
Web Service是通過提供標(biāo)準(zhǔn)的協(xié)議和接口,可以讓不同的程序集成的一種SOA架構(gòu)。Web Service的優(yōu)點
(1)可以讓異構(gòu)的程序相互訪問(跨平臺)
(2)松耦合
(3)基于標(biāo)準(zhǔn)協(xié)議(通用語言,允許其他程序訪問)Web Service的基本原理
(1)Service Provider采用WSDL描述服務(wù)
(2)Service Provider 采用UDDI將服務(wù)的描述文件發(fā)布到UDDI服務(wù)器(Register server)
(3)Service Requestor在UDDI服務(wù)器上查詢并 獲取WSDL文件
(4)Service requestor將請求綁定到SOAP,并訪問相應(yīng)的服務(wù)。
三、什么是中間件?
中間件就是程序中可織入的,可重用的,與業(yè)務(wù)邏輯無關(guān)的各種組件。
中間件(middleware)是基礎(chǔ)軟件的一大類,屬于可復(fù)用軟件的范疇。顧名思義,中間件處于操作系統(tǒng)軟件與用戶的應(yīng)用軟件的中間。中間件在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件的下層,總的作用是為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。
在眾多關(guān)于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。
分類:數(shù)據(jù)訪問中間件,遠(yuǎn)程調(diào)用中間件,消息中間件,交易中間件,對象中間件。
舉例:
1,RMI(Remote Method Invocations, 遠(yuǎn)程調(diào)用)
2,Load Balancing(負(fù)載均衡,將訪問負(fù)荷分散到各個服務(wù)器中)
3,Transparent Fail-over(透明的故障切換)
4,Clustering(集群,用多個小的服務(wù)器代替大型機(jī))
5,Back-end-Integration(后端集成,用現(xiàn)有的、新開發(fā)的系統(tǒng)如何去集成遺留的系統(tǒng))
6,Transaction事務(wù)(全局/局部)全局事務(wù)(分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫聯(lián)接內(nèi)的事務(wù))
7,Dynamic Redeployment(動態(tài)重新部署,在不停止原系統(tǒng)的情況下,部署新的系統(tǒng))
8,System Management(系統(tǒng)管理)
9,Threading(多線程處理)
10,Message-oriented Middleware面向消息的中間件(異步的調(diào)用編程)
11,Component Life Cycle(組件的生命周期管理)
12,Resource pooling(資源池)
13,Security(安全)
14,Caching(緩存)
四、什么是典型的軟件三層結(jié)構(gòu)?軟件設(shè)計為什么要分層?軟件分層有什么好處? 答:(1)Presentation layer(表示層)
(1)表示邏輯(生成界面代碼)
(2)接收請求
(3)處理業(yè)務(wù)層拋出的異常
(4)負(fù)責(zé)規(guī)則驗證(數(shù)據(jù)格式,數(shù)據(jù)非空等)
(5)流程控制
(2)Service layer(服務(wù)層/業(yè)務(wù)層)
(1)封裝業(yè)務(wù)邏輯處理,并且對外暴露接口
(2)負(fù)責(zé)事務(wù),安全等服務(wù)
(3)Persistence layer(持久層)
(1)封裝數(shù)據(jù)訪問的邏輯,暴露接口
(2)提供方便的數(shù)據(jù)訪問的方案(查詢語言,API,映射機(jī)制等)Domain layer(域?qū)樱?/p>
(1)業(yè)務(wù)對象以及業(yè)務(wù)關(guān)系的表示
(2)處理簡單的業(yè)務(wù)邏輯
(3)域?qū)拥膶ο罂梢源┰奖硎緦樱瑯I(yè)務(wù)層,持久層
軟件分層結(jié)構(gòu)使得代碼維護(hù)非常方便,設(shè)計明確,各層獨(dú)立,專注自己擅長的領(lǐng)域。
五、什么是OOP?OOP相對于面向過程編程有哪些優(yōu)點?
OOP,Object-Oriented Programming,面向?qū)ο缶幊滩煌诿嫦蜻^程編程:
(1)OOP關(guān)注對象和角色,也就是事物的本質(zhì)
1)OOP把客觀世界中的對象抽象成對應(yīng)的類;
2)通過類構(gòu)造實例;
3)通過依賴、繼承、實現(xiàn)等形式建立對象間的通信關(guān)系
(2)OOP易于擴(kuò)展,增加或改變業(yè)務(wù)的功能,無需大幅改動改變源代碼
(3)OOP易于建模,OOP就是軟件架構(gòu)師在計算機(jī)高級語言中對客觀世界的抽象和再現(xiàn),人們可以很好地理解和建立起計算機(jī)中的抽象模型
六、談?wù)凮verload和Override的區(qū)別。
答:
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。
七、談?wù)凥ashMap和Hashtable的區(qū)別。答:
HashMap是輕量級的(線程不安全的,效率高的)集合,Hashtable是重量級的(線程安全的,效率低的)集合。
都屬于Map接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。
HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。
Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。
八、請問abstract class和interface有什么區(qū)別?
答:
1)接口沒有任何的實現(xiàn),而抽象類它可以有部分的實現(xiàn)也可以沒有;
2)如果需要復(fù)用或者共享部分代碼,應(yīng)該用抽象類而不是接口;
3)繼承無法解決類型的轉(zhuǎn)換問題,接口就是為了解決這一問題而產(chǎn)生的(Java的單繼承是接口產(chǎn)生的根本原因)接口是一種抽象的第三方規(guī)范,跟對象沒什么直接關(guān)系。
九、請問軟件開發(fā)中的設(shè)計模式你會使用哪些?
答:我熟悉的設(shè)計模式有單例模式,DAO模式,模板方法,工廠模式,委托代理模式,MVC模式等。
Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。
Singleton模式一般形式: 定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。
十、類的核心特性有哪些?
類具有封裝性、繼承性和多態(tài)性。
封裝性:
類的封裝性為類的成員提供公有、缺省、保護(hù)和私有等多級訪問權(quán)限,目的是隱藏類中的私有變量和類中方法的實現(xiàn)細(xì)節(jié)。
繼承性:
類的繼承性提供從已存在的類創(chuàng)建新類的機(jī)制,繼承(inheritance)使一個新類自動擁有被繼承類(父類)的全部成員。
多態(tài)性:
類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。
十一、請問類與對象有什么區(qū)別?
類
類就是某一種事物的一般性的集合體,是相同或相似的各個事物共同特性的一種抽象。
對象
在面向?qū)ο蟾拍钪校瑢ο螅∣bject)是類的實例(instance)。對象與類的關(guān)系就像變量與數(shù)據(jù)類型的關(guān)系一樣。
十二、寫出生產(chǎn)者消費(fèi)者模型的實現(xiàn)
十三、用軟件工程和Java來敘述購物車(shopping cart)系統(tǒng)實現(xiàn)
十四、文件系統(tǒng)的幾個類:FileInputStream、FileOutputStream、FileReader、FileWriter的區(qū)別
十五、請寫出Java API中最常用的五個包,并且各舉兩個類加以說明。
十六、請問你在“電信運(yùn)營支撐系統(tǒng)”中遇到了哪些問題?你是怎么解決的?做這個項目你最大的收獲是什么?
十七、請說出幾個常用的異常類
答:NullpointException(空指針異常)
ClassNotFoundException(類找不到異常)
ClassCastException(類型轉(zhuǎn)換異常)
IllegalArgumentException(非法參數(shù)異常)
ArithmeticException(算術(shù)異常)
NumberFormatException(數(shù)據(jù)格式異常)
IndexOutOfBoundsException(數(shù)組下標(biāo)越界異常)
IllegalStateException(非法語句異常)
十八、什么是進(jìn)程和線程?兩者的區(qū)別是什么?
十九、請簡要描述一下你做的ShoppingCart項目。
二十、請問網(wǎng)絡(luò)7層協(xié)議,tcp/ip4 層協(xié)議是什么?
二十一、Java面向?qū)ο蟮乃拇筇攸c
二十二、public,private,protected,default訪問權(quán)限(可見性)
答:
public:全局可見
protected:繼承體系結(jié)構(gòu)之間可見
default(或不寫):同包可見
private:本類可見。
二十二、public,private,protected,default訪問權(quán)限(可見性)
答:
public:全局可見
protected:繼承體系結(jié)構(gòu)之間可見
default(或不寫):同包可見
private:本類可見。
二十三、名詞解釋
CRM
[Customer Relationship Management, 客戶關(guān)系管理] ERP
[Enterprise Resource Planning, 企業(yè)資源規(guī)劃] OSS
[Operation Support System, 運(yùn)營支撐系統(tǒng)] BSS
[Business Support System, 數(shù)據(jù)定義語言] BOSS
[Business Operation Support System, 數(shù)據(jù)定義語言] OA
[Office Automatization, 辦公自動化] HTTP OOP SOA GUI DDL
[Data Definition Language, 數(shù)據(jù)定義語言] DML
[Data Manipulation Language, 數(shù)據(jù)操作語言]
WYSIWYG
所見即所得 [What You See is What You Get] CMP CMT B2B C2C B2C IDE DOM
Client/Server CMM ORM MIS MVC
MVC是Model-View-Controller的簡寫?!癕odel” 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實現(xiàn)),“View” 是應(yīng)用的表示面(由JSP頁面產(chǎn)生),“Controller” 是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進(jìn)行交互和重用。
OLE
CORBA
CORBA 標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(Common Object Request Broker Architecture),由對象管理組織(Object Management Group,縮寫為 OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。其目的為:
用不同的程序設(shè)計語言書寫
在不同的進(jìn)程中運(yùn)行
為不同的操作系統(tǒng)開發(fā)。
UML
UML,標(biāo)準(zhǔn)建模語言,包含用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現(xiàn)圖等。
XML CMMI JRE J2EE
J2EE是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應(yīng)用模型(enterpriese application model).在這樣的一個應(yīng)用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機(jī)上,并且處于相應(yīng)的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
JDK AOP OO
Container W3C JMS
domain POJO JVM JNDI JTA SOAP
[Simple Object Access Protocol,簡單對象訪問協(xié)議] WSDL JDO
JDO是Java對象持久化的新的規(guī)范,為Java Data Object的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)據(jù)對象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務(wù)邏輯上。另外,JDO很靈活,因為它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。
TDD DAO IoC
[Inversion of Control, 控制反轉(zhuǎn)] RMI DNS
[Internet Domain Name System, 因特網(wǎng)域名系統(tǒng)] URL URI
二十四、數(shù)據(jù)庫連接池的工作機(jī)制
二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?
二十六、請寫出JSP的幾個隱含內(nèi)置對象
答:JSP中隱含內(nèi)置對象
名稱 類型
request request
response
注釋和范圍 response page page
Exception page
pageContext page
Session session
Application ServletContext out OutputStream
Config ServletConfig
JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):
request 用戶端請求,此請求會包含來自GET/POST請求的參數(shù)
response 網(wǎng)頁傳回用戶端的回應(yīng)
page JSP 網(wǎng)頁本身
Exception 針對錯誤網(wǎng)頁,未捕捉的例外
pageContext 網(wǎng)頁的屬性是在這里管理
Session 與請求有關(guān)的會話期
Application servlet 正在執(zhí)行的內(nèi)容
Out 用來傳送回應(yīng)的輸出
Config Servlet的構(gòu)架部件
二十七、請你談?wù)凷SH整合
答:SSH:
Struts(表示層)+Spring(業(yè)務(wù)層)+Hibernate(持久層)
Struts:
Struts是一個表示層框架,主要作用是界面展示,接收請求,分發(fā)請求。
在MVC框架中,Struts屬于VC層次,負(fù)責(zé)界面表現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:沿用JSP,HTTP,F(xiàn)orm,Tag,Resourse ;Controller:ActionServlet,,Action)
Hibernate:
Hibernate是一個持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。
Spring:
Spring是一個業(yè)務(wù)層框架,是一個整合的框架,能夠很好地黏合表示層與持久層。
二十八、應(yīng)用服務(wù)器與Web Server的區(qū)別
二十九、Java Servlet API中forward()與redirect()的區(qū)別
答:
前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。
三
十、寫一個簡單的C/S結(jié)構(gòu)程序,Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務(wù)器幾個字符,再寫入本地顯示?
答:Server端程序: package test;import *;import *;
public class Server { private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server(){ try { ss=new ServerSocket();while(true){ socket = ();String RemoteIP = ().getHostAddress();String RemotePort = “:”+();(“A client come in!IP:”+RemoteIP+RemotePort);in = new BufferedReader(new
InputStreamReader(()));String line = ();(“Cleint send is :” + line);out = new PrintWriter((),true);(“Your Message Received!”);();();();} }catch(IOException e){ (“wrong”);} } public static void main(String[] args){ new Server();} };Client端程序: package test;import *;import *;
public class Client { Socket socket;BufferedReader in;PrintWriter out;public Client(){ try { (“Try to Connect to :”);socket = new Socket(“”,);(“The Server Connected!”);(“Please enter some Character:”);BufferedReader line = new BufferedReader(new
InputStreamReader());out = new PrintWriter((),true);(());in = new BufferedReader(new InputStreamReader(()));(());();();();}catch(IOException e){ (“Wrong”);} } public static void main(String[] args){ new Client();} };
軟件測試工程師筆面試試題2
軟件測試工程師筆試題一及答案
一、基礎(chǔ)理論
1、軟件測試的結(jié)束標(biāo)準(zhǔn)是什么?
2、一套完整的測試應(yīng)該由哪些階段組成?分別闡述一下各個階段。
3、什么是缺陷報告?
4、缺陷報告的作用
5、缺陷報告的要點
6、軟件測試缺陷報告的“5C”原則
7、缺陷的二八定理
8、軟件測試的流程
9、測試計劃的目的是什么?測試計劃的內(nèi)容都包括什么?其中哪些是最重要的?
10、請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統(tǒng)測試、驗收測試的區(qū)別與聯(lián)系。
11、Alpha 測試與beta 測試的區(qū)別
答案:
一、基礎(chǔ)理論
1、測試計劃中所有規(guī)定的測試內(nèi)容和回歸測試都已經(jīng)運(yùn)行完成或根據(jù)上級主管對測試結(jié)果的意見,就可以結(jié)束本次測試
2、計劃階段、設(shè)計階段、白盒單元、白盒集成、黑盒單元、黑盒集成、系統(tǒng)測試、回歸測試、驗收測試
一套完整的測試應(yīng)該由五個階段組成:
1)測試計劃首先,根據(jù)用戶需求報告中關(guān)于功能要求和性能指標(biāo)的規(guī)格說明書,定義相應(yīng)的測試需求報告,即制訂黑盒測試的最高標(biāo)準(zhǔn)。以后所有的測試工作都將圍繞著測試需求來進(jìn)行,符合測試需求的應(yīng)用程序即是合格的,反之即是不合格的;同時,還要適當(dāng)選擇測試內(nèi)容,合理安排測試人員、測試時間及測試資源等。
2)測試設(shè)計將測試計劃階段制訂的測試需求分解、細(xì)化為若干個可執(zhí)行的測試過程,并為每個測試過程選擇適當(dāng)?shù)臏y試用例(測試用例選擇的好壞將直接影響測試結(jié)果的有效性)。
3)測試開發(fā)建立可重復(fù)使用的自動測試過程。
4)測試執(zhí)行執(zhí)行測試開發(fā)階段建立的自動測試過程,并對所發(fā)現(xiàn)的缺陷進(jìn)行跟蹤管理,測試執(zhí)行一般由單元測試、組合測試、集成測試、系統(tǒng)聯(lián)調(diào)及回歸測試等步驟組成,測試人員應(yīng)本著科學(xué)負(fù)責(zé)的態(tài)度,一步一個腳印地進(jìn)行測試。
5)測試評估結(jié)合量化的測試覆蓋域及缺陷跟蹤報告,對于應(yīng)用軟件的質(zhì)量和開發(fā)團(tuán)隊的工作進(jìn)度及工作效率進(jìn)行綜合評價。
3、缺陷報告是描述軟件缺陷現(xiàn)象和重現(xiàn)步驟地集合。軟件缺陷報告Software Bug Report(SBR)或軟件問題報告Software Problem Report(SPR)
4、缺陷報告是軟件測試人員的工作成果之一,體現(xiàn)軟件測試的價值
缺陷報告可以把軟件存在的缺陷準(zhǔn)確的描述出來,便于開發(fā)人員修正
缺陷報告可以反映項目/產(chǎn)品當(dāng)前的質(zhì)量狀態(tài),便于項目整體進(jìn)度和質(zhì)量控制
軟件測試缺陷報告是軟件測試的輸出成果之一,可以衡量測試人員的工作能力
5、標(biāo)題(Title)
簡潔、準(zhǔn)確、完整、反映缺陷本質(zhì)、方便查詢
前綴 + 標(biāo)題正文,標(biāo)題正文采用結(jié)果和動作,或者現(xiàn)象和位置的方式表達(dá)
步驟(Steps)
可復(fù)現(xiàn)、完整、簡潔、準(zhǔn)確
按數(shù)字編號
實際結(jié)果(Actual results)
準(zhǔn)確、詳細(xì)描述軟件的現(xiàn)象和特征
期望結(jié)果(Expected results)
準(zhǔn)確、豐富、有理有據(jù)
平臺(Platforms)
準(zhǔn)確
截圖(Screenshots)
準(zhǔn)確反映缺陷特征
注釋(Notes)
關(guān)于缺陷的輔助說明
6、內(nèi)容準(zhǔn)確(Correct):
每個組成部分的描述準(zhǔn)確,不會引起誤解
步驟簡潔(Concise):
只包含必不可少的信息,不包括任何多余的內(nèi)容
內(nèi)容清晰(Clear):
每個組成部分的描述清晰,易于理解
結(jié)構(gòu)完整(Complete):
包含復(fù)現(xiàn)該缺陷的完整步驟和其他本質(zhì)信息
風(fēng)格一致(Consistent):
按照一致的格式書寫全部缺陷報告
7、在分析、設(shè)計、實現(xiàn)階段的復(fù)審和測試工作能夠發(fā)現(xiàn)和避免80%的缺陷,而系統(tǒng)測試又能找出其余缺陷中的80%,最后的4%的缺陷可能只有在用戶大范圍、長時間使用后才會暴露出來。
8、制訂測試計劃、設(shè)計測試用例、實施測試、提交缺陷報告、測試總結(jié)。
9、測試計劃的目的:編寫軟件測試計劃的目的是指導(dǎo)測試組成員進(jìn)行工作和讓測試組以外的項目成員了解測試工作的。
測試計劃的內(nèi)容:測試目的和測試項目簡介、測試參考文檔和測試提交文檔、術(shù)語和定義、測試策略、確定測試內(nèi)容、資源、測試進(jìn)度、測試員的職責(zé)與任務(wù)分配、項目通過或失敗的標(biāo)準(zhǔn)、暫
停和重新啟動測試的標(biāo)準(zhǔn)、風(fēng)險和問題等。
最重要的:測試策略、確定測試內(nèi)容、資源、測試進(jìn)度、測試員的職責(zé)與任務(wù)分配、項目通過或失敗的標(biāo)準(zhǔn)
10、黑盒測試:把測試對象當(dāng)成一個黑盒子,測試人員完全不考慮邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程式的需求說明書來檢查程式的功能是否滿足它的功能說明。
白盒測試:把測試對象當(dāng)成一個透明的盒子,允許測試人員利用程序內(nèi)部邏輯結(jié)構(gòu)及相關(guān)信息,設(shè)計或選擇測試用例,對程式所有邏輯路徑進(jìn)行測試。
單元測試:白盒測試的一種,對軟件設(shè)計中的單元模塊進(jìn)行測試。
集成測試:在單元測試的基礎(chǔ)上,對單元模塊之間的連接和組裝w進(jìn)行測試。
系統(tǒng)測試:在所有都考慮的情況下,對系統(tǒng)進(jìn)行測試。
驗收測試:第三方進(jìn)行的確認(rèn)軟件滿足需求的測試。
軟件測試工程師筆面試試題3
廈門銀禾數(shù)碼技術(shù)有限公司軟件測試工程師筆試題試卷(A)姓名:_________性別:____ 筆試日期200_年__月__日 是否應(yīng)屆/軟件測試工作年限_____ 聯(lián)系電話:_______________ 電子郵箱:________________ 期望待遇:_______________
1、什么是軟件測試?2’
2、軟件測試與軟件質(zhì)量保證的區(qū)別。10’
3、報告軟件缺陷時,測試人員要對軟件缺陷分類,以簡明扼要的方式指出其影響,以及修
改的優(yōu)先次序。請描述如何劃分缺陷與錯誤嚴(yán)重性和優(yōu)先級別?10’
4、BUG信息應(yīng)該包含那些內(nèi)容。5’
5、測試用例說明應(yīng)該包含哪些內(nèi)容?測試用例計劃包含哪些目標(biāo)?10’
6、WEB應(yīng)用軟件測試必須進(jìn)行哪些類型測試,請列出每種類型的測試要點。15’
7、網(wǎng)絡(luò)應(yīng)用測試的主要內(nèi)容是什么?10’
8、用戶文檔測試應(yīng)該注意哪些要點?10’
9、在DBMS中,視圖的作用是什么?
寫出建立視圖的命令格式(如建立信息系學(xué)生的視圖)10’
10、請列舉您認(rèn)為身為測試人員應(yīng)具備的能力和技術(shù)。8’
參考答案
1、什么是軟件測試?2’
【要點】
在規(guī)定條件下對程序進(jìn)行操作,以發(fā)現(xiàn)錯誤,對軟件質(zhì)量進(jìn)行評估,包括對軟件形成過程的文檔、數(shù)據(jù)以及程序進(jìn)行測試。
【詳解】
軟件測試就是在軟件投入運(yùn)行前對軟件需求分析、軟件設(shè)計規(guī)格說明書和軟件編碼進(jìn)行查錯(包括代碼執(zhí)行活動與人工活動)。也可以說,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘哒f,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部構(gòu)造而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯誤,這是在軟件投入前,對軟件需求分析、軟件設(shè)計規(guī)格說明書和軟件編碼的最終復(fù)審,是軟件質(zhì)量保障的關(guān)鍵步驟。
1、軟件測試與軟件質(zhì)量保證的區(qū)別。10’
【要點】
軟件測試只是質(zhì)量保證工作中的一個環(huán)節(jié),軟件質(zhì)量保證與軟件測試是軟件質(zhì)量工程的兩個不同層面的工作;
質(zhì)量保證:通過預(yù)防、檢查與改進(jìn)來保證軟件質(zhì)量,采用全面質(zhì)量管理和過程改進(jìn)的原理來開展質(zhì)量保證工作,主要關(guān)注軟件質(zhì)量的檢查與測試,主要著眼于軟件開發(fā)活動的過程、步驟和產(chǎn)物。
軟件測試:通過執(zhí)行軟件來,對過程中的產(chǎn)物(開發(fā)文檔和程序)進(jìn)行走查,發(fā)現(xiàn)問題,報告質(zhì)量
【詳解】
軟件測試和軟件質(zhì)量保證是軟件質(zhì)量工程中的兩個不同層面的工作。軟件測試只是軟件質(zhì)量保證工作中的一個重要環(huán)節(jié)。
質(zhì)量保證(QA)的工作是通過預(yù)防、檢查與改進(jìn)來保證軟件的質(zhì)量。QA采用的方法重要是按“全面質(zhì)量管理”和“過程改進(jìn)”的原來開展質(zhì)量保證工作。雖然在軟件質(zhì)量保證的活動中也有一些測試活動,但它所以關(guān)注的是軟件質(zhì)量的檢查和測量。它的主要工作是對軟件生命周期的管理,以及檢驗軟件是否滿足規(guī)定的質(zhì)量和用戶的需求,因此重要是著眼于軟件開發(fā)活動中的過程,步驟和產(chǎn)物,而不是軟件進(jìn)行剖析,找出問題或者評估。
軟件測試雖然與開發(fā)過程緊密相關(guān),但它所關(guān)心的不是過程的活動,而是對過程的產(chǎn)物,以及開發(fā)出的軟件進(jìn)行剖析。測試人員要對過程的產(chǎn)物(開發(fā)文檔和源代碼)進(jìn)行走讀,運(yùn)行軟件。以找到問題和報告質(zhì)量。測試人員必須假設(shè)軟件存在潛在的問題,測試中所做的操作就是為了找出更多的問題,而不是為了驗證(事實上也不可能)軟件的正確性。所以軟件測試雖然對提高軟件的質(zhì)量起著關(guān)鍵的作用,但它只是軟件質(zhì)量保證的一個重要環(huán)節(jié)。
3、請描述如何劃分缺陷與錯誤嚴(yán)重性和優(yōu)先級別?10’
給軟件缺陷與錯誤劃分嚴(yán)重性和優(yōu)先級的通用原則:
(1)表示軟件缺陷所造成餓危害和惡劣程度。
(2)優(yōu)先級表示修復(fù)缺陷的重要程度和次序。
嚴(yán)重性:
(1)、嚴(yán)重:系統(tǒng)崩潰、數(shù)據(jù)丟失、數(shù)據(jù)毀壞
(2)、較嚴(yán)重:操作性錯誤、結(jié)果錯誤、遺漏功能
(3)、一般:小問題、錯別字、UI布局、罕見故障
(4)、建議:不影響使用的瑕疵或更好的實現(xiàn)。
優(yōu)先級:
(1)、最高優(yōu)先級:立即修復(fù),停止進(jìn)一步測試。
(2)、次高優(yōu)先級:在產(chǎn)品發(fā)布之前必須修復(fù)。
(3)、中等優(yōu)先級:如果時間允許應(yīng)該修復(fù)。
(4)、最低優(yōu)先級:可能會修復(fù),但是也可能發(fā)布。
4、BUG信息應(yīng)該包含那些內(nèi)容。5’
測試軟件名稱、測試版本號、測試人名稱、測試事件、測試軟件和硬件配置環(huán)境、發(fā)現(xiàn)軟件錯誤的類型、錯誤的嚴(yán)重程度、詳細(xì)步驟、必要的附圖、測試注釋。
5、測試用例說明應(yīng)該包含哪些內(nèi)容?10’
(1)定義(ANSI/IEEE829):編寫用于輸入的實際數(shù)據(jù)和預(yù)期結(jié)果,并明確指出使用
具體測試用例產(chǎn)生的測試程序的任何限制
(2)包含的內(nèi)容
? 標(biāo)識符:由測試設(shè)計過程說明和測試程序說明引用的唯一標(biāo)識符
? 測試項:描述被測試的詳細(xì)特性、代碼模塊等
? 輸入說明:列舉執(zhí)行測試用例的所有輸入內(nèi)容或者條件
? 輸出說明:描述進(jìn)行測試用例預(yù)期的結(jié)果
? 環(huán)境要求:執(zhí)行測試用例的軟件、硬件、測試工具及人員等要求
? 特殊要求:描述執(zhí)行測試用例的特殊要求
? 用例之間的依賴性:注明與其分用例的依賴關(guān)系或受其他用例的影響
測試用例計劃包含4個目標(biāo)即:組織性、重復(fù)性、跟蹤和測試證實。
6、WEB應(yīng)用軟件測試必須進(jìn)行以下不同類型的測試,包括:功能測試、性能測試、可用性測試、兼容測試、安全測試等。15’
(1)、功能測試主要是用來測試WEB應(yīng)用軟件是否履行了預(yù)期的功能,確保每一個功能與需求說明一致。根據(jù)測試對象的不同,可分為:鏈接測試、表單測試、COOKIES測試、設(shè)計語言測試、數(shù)據(jù)庫測試。
(2)、性能測試主要是確保WEB應(yīng)用系統(tǒng)達(dá)到要求的性能,一般用最大的運(yùn)行時間、吞吐率、相應(yīng)時間描述。
性能測試又分為:鏈接速度測試、負(fù)載測試和壓力測試,負(fù)載測試是為了測量WEB系統(tǒng)在某一負(fù)載級別上的性能,以保證WEB系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級別可以是某個時刻同時訪問WEB系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。
壓力測試是指實際破壞一個WEB應(yīng)用系統(tǒng)時測試系統(tǒng)的反映,壓力測試是測試系統(tǒng)的限制和故障恢復(fù)能力,也就是測試WEB應(yīng)用系統(tǒng)會不會崩潰,在什么情況下會崩潰,壓力測試的區(qū)域包括表單、登錄、和其他信息傳輸頁面等。壓力測試側(cè)重于確定系統(tǒng)崩潰時的用戶負(fù)載量。
(3)、可用性測試:導(dǎo)航測試、圖形測試、內(nèi)容測試、整體界面測試。
(4)、兼容性測試:確定WEB應(yīng)用軟件在不同軟件、硬件和網(wǎng)絡(luò)配置下運(yùn)行情況,它主要
是用來測試在不同瀏覽器中是否都可以正確地顯示W(wǎng)EB應(yīng)用程序的頁面內(nèi)容,從而保證頁面中的某些代碼,比如:JavaScript ,ActiveX、CSS等在不同平臺配置上都能具有正確性。
(5)、安全測試。
7、網(wǎng)絡(luò)應(yīng)用測試的主要內(nèi)容是什么?10’
網(wǎng)絡(luò)應(yīng)用系統(tǒng)包含:網(wǎng)絡(luò)應(yīng)用軟件、工作站桌面軟件和客戶/服務(wù)器數(shù)據(jù)庫。
網(wǎng)絡(luò)應(yīng)用測試重點考察:多用戶并發(fā)訪問性能、應(yīng)用系統(tǒng)響應(yīng)時間、應(yīng)用系統(tǒng)對網(wǎng)絡(luò) 資源的占用情況、與網(wǎng)絡(luò)相關(guān)的應(yīng)用功能特性、應(yīng)用系統(tǒng)在網(wǎng)絡(luò)環(huán)境下的穩(wěn)定性。
(1)特性測試:特性測試核實的是單個命令和應(yīng)用程序功能,通常用較小的負(fù)
載完成,關(guān)注的是用戶界面、應(yīng)用程序的操作,以及用戶與計算機(jī)之間的互操作。
(2)功能測試:要求網(wǎng)絡(luò)配置和負(fù)載非常接近于運(yùn)行環(huán)境下的模式,關(guān)注的是
當(dāng)多個用戶使用應(yīng)用程序時,網(wǎng)絡(luò)和文件系統(tǒng)或者數(shù)據(jù)庫系統(tǒng)之間的交互
情況,核實的是重負(fù)載下后臺功能能否正確執(zhí)行。
(3)應(yīng)用負(fù)載測試。
(4)應(yīng)用系統(tǒng)響應(yīng)時間測試。
(5)應(yīng)用系統(tǒng)升級測試。
8、用戶文檔測試的要點10’
(1)、明確讀者群:根據(jù)讀者群(如初級、中級、高級用戶)的不同來檢查文檔內(nèi)容,保證用戶能夠看得懂、能理解
(2)、術(shù)語:文檔中術(shù)語的描述要適合定位的讀者群,用法一致,標(biāo)準(zhǔn)定義與業(yè)界規(guī)范相吻合(3)、文檔內(nèi)容的正確性:要保證所有信息是真實正確的(4)、文檔內(nèi)容的完整性:要完全根據(jù)提示逐步操作,檢查是否存在遺漏的地方
(5)、文檔與程序的一致性:按照文檔操作后,檢查軟件返回的結(jié)果與文檔描述是否一致
(6)、文檔的易用性:檢查是否便于用戶查找相應(yīng)的內(nèi)容
(7)、圖表與界面截圖:檢查所有圖表與界面截圖與發(fā)布的程序版本一致
(8)、樣例和示例:檢查所有的樣例和示例能夠正確完成;
(9)、語言:中文文檔保證無錯別字和二義性
(10)、印刷與包裝:印刷質(zhì)量,包裝質(zhì)量
9、在DBMS中,視圖不是真正的包含數(shù)據(jù),只是把定義存于數(shù)據(jù)字典中。作用為:10’
(1)、簡化用戶操作。
(2)、使用戶能從多角度中看待同一數(shù)據(jù)。
(3)、對重構(gòu)數(shù)據(jù)提供一定程度的邏輯獨(dú)立性。
(4)、能對機(jī)密數(shù)據(jù)提供安全保護(hù)。
CREATE VIEW<視圖名>[(<列名>[<列名>]??)]
AS
子查詢
[With Check Option]
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept =’IS’
With Check Option10、測試人員應(yīng)該具備的能力和技術(shù)。8’
1、基本能力
2、溝通能力
3、技術(shù)能力
測試方法應(yīng)用、測試用例設(shè)計、測試工具使用(測試管理系統(tǒng)、自動化測試工具、負(fù)載測試工具)
4、管理能力
5、文檔能力
軟件測試工程師筆面試試題3篇(軟件測試工程師面試一般常見問題匯總)相關(guān)文章:
★ 大學(xué)語文試題及參考答案3篇(大學(xué)語文答案百度文庫)
★ 小學(xué)語文期末考試題12篇(語文期末考試測試題)
★ 護(hù)士求職面試問題及答案7篇 新護(hù)士面試題
★ 軟件開發(fā)協(xié)議書范文6篇(軟件合作開發(fā)協(xié)議書)
★ 初二數(shù)學(xué)檢測題2篇(初二期中數(shù)學(xué)測試題)
★ 年專八英語翻譯考試題漢譯英練習(xí)2篇(專八英譯漢真題 )
★ 通用的公司轉(zhuǎn)讓合同樣本下載3篇 軟件公司轉(zhuǎn)讓合同范本
★ 高一全國試卷上學(xué)期期末考試語文作文5篇 年高一語文期末試題作文