16- 軟件測試框架總結


主要對測試框架的面試題講解。

1.測試一個杯子怎么寫測試用例?


界面:杯子外觀

安全性:杯子有沒有毒或細菌

可靠性:杯子從不同高度落下的損壞程度;杯子放水放置12個小時或者24小時,是否漏水

可移植性:杯子在不同的地方、溫度等環境下是否都可以正常使用

兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等

易用性:杯子是否燙手、是否有防滑措施、是否方便飲用

用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述

壓力測試:用針刺杯子,不斷加重量,看壓強多大時會穿透杯子


3、假設有一個文本框要求輸入10個數字字符的郵政編碼,對於該文本框應該怎樣划分等價類?


有效等價類                無效等價類
    (1)數字字符       (2)非數字字符
    (3)郵編為10個字符(4)郵編大於或小於10個字符
                              (5)郵編為空












保留字符,包括:#、$、%、^、&、_、{、}、~、\,它們要么有特殊的意義,要么不能適合所有字體。直接在源文件中輸入這些字符,也許不能得到我們所期待的結果。
 如果用戶直接在文本中使用它們,通常在排版結果中將不會得到這些字符,甚至有時還會提示錯誤。如果想要得到它們,可以在這些字符前面加上反斜線。
 1、問:你在測試中發現了一個bug,但是開發經理/開發認為這不是一個bug,你應該怎樣解決?
首先,將問題提交到缺陷管理庫里面進行備案。

然后,要獲取判斷的依據和標准:

根據需求說明書、產品說明、設計文檔等,確認實際結果是否與計划有不一致的地方,提供缺陷是否確認的直接依據;
如果沒有文檔依據,可以根據類似軟件的一般特性來說明是否存在不一致的地方,來確認是否是缺陷;
根據用戶的一般使用習慣,來確認是否是缺陷;
與設計人員、開發人員和客戶代表等相關人員探討,確認是否是缺陷;
合理的論述,向測試經理說明自己的判斷的理由,注意客觀、嚴謹,不參雜個人情緒。

等待測試經理做出最終決定。

2、問:給你一個網站,你如何測試?
首先,查找需求說明、網站設計等相關文檔,分析測試需求。

制定測試計划,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試

設計測試用例:

功能性測試可以包括,但不限於以下幾個方面:

鏈接測試。鏈接是否正確跳轉,是否存在空頁面和無效頁面,是否有不正確的出錯信息返回。
提交功能的測試。
多媒體元素是否可以正確加載和顯示。
多語言支持是否能夠正確顯示選擇的語言等。
界面測試可以包括但不限於一下幾個方面:

頁面是否風格統一,美觀
頁面布局是否合理,重點內容和熱點內容是否突出
控件是否正常使用
對於必須但未安裝的控件,是否提供自動下載並安裝的功能
文字檢查

性能測試一般從以下幾個方面考慮:

壓力測試;負載測試;強度測試

數據庫測試要具體決定是否需要開展。數據庫一般需要考慮連接性,對數據的存取操作,數據內容的驗證等方面。

安全性測試:

基本的登錄功能的檢查
是否存在溢出錯誤,導致系統崩潰或者權限泄露
相關開發語言的常見安全性問題檢查,例如SQL注入等
如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持
兼容性測試,根據需求說明的內容,確定支持的平台組合:

瀏覽器的兼容性;
操作系統的兼容性;
軟件平台的兼容性;
數據庫的兼容性(一種數據庫的不同版本)

開展測試,並記錄缺陷。合理的安排調整測試進度,提前獲取測試所需的資源,建立管理體系(例如,需求變更、風險、配置、測試文檔、缺陷報告、人力資源等內容)。

定期評審,對測試進行評估和總結,調整測試的內容。

3、什么是軟件測試?軟件測試的目的與原則

在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,並對其是否能滿足設計要求進行評估的過程。

軟件測試的目的:

測試是程序的執行過程,目的在於發現錯誤
一個成功的測試用例在於發現至今未發現的錯誤
一個成功的測試是發現了至今未發現的錯誤的測試
確保產品完成了它所承諾或公布的功能,並且用戶可以訪問到的功能都有明確的書面說明。
確保產品滿足性能和效率的要求
確保產品是健壯的和適應用戶環境的
軟件測試的原則:

測試用例中一個必須部分是對預期輸出或結果進行定義
程序員應避免測試自己編寫的程序
編寫軟件的組織不應當測試自己編寫的軟件
應當徹底檢查每個測試的執行結果
測試用例的編寫不僅應當根據有效和預料到的輸入情況,而且也應當根據無效和未預料到的輸入情況
檢查程序是否“未做其應該做的”僅是測試的一半,測試的另一半是檢查程序是否“做了其不應該做的”
應避免測試用例用后即棄,除非軟件本身就是個一次性的軟件
計划測試工作時不應默許假定不會發現錯誤
程序某部分存在更多錯誤的可能性,與該部分已經發現錯誤的數量成正比
軟件測試是一項極富創造性,極具智力的挑戰性的工作

4、軟件的安全性應從哪幾個方面去測試?

軟件安全性測試包括程序、數據庫安全性測試。根據系統安全指標不同測試策略也不同。

用戶認證安全的測試要考慮問題: 明確區分系統中不同用戶權限 、系統中會不會出現用戶沖突 、系統會不會因用戶的權限的改變造成混亂 、用戶登陸密碼是否是可見、可復制 、是否可以通過絕對途徑登陸系統(拷貝用戶登陸后的鏈接直接進入系統)、用戶退出系統后是否刪除了所有鑒權標記,是否可以使用后退鍵而不通過輸入口令進入系統 、系統網絡安全的測試要考慮問題 、測試采取的防護措施是否正確裝配好,有關系統的補丁是否打上 、模擬非授權攻擊,看防護系統是否堅固 、采用成熟的網絡漏洞檢查工具檢查系統相關漏洞(即用最專業的黑客攻擊工具攻擊試一下,現在最常用的是 NBSI 系列和 IPhacker IP ) 、采用各種木馬檢查工具檢查系統木馬情況 、采用各種防外掛工具檢查系統各組程序的外掛漏洞

數據庫安全考慮問題: 系統數據是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求)、系統數據的完整性(我剛剛結束的企業實名核查服務系統中就曾存在數據的不完整,對於這個系統的功能實現有了障礙) 、系統數據可管理性 、系統數據的獨立性 、系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)
 


5、軟件測試分為幾個階段
和開發過程相對應,測試過程會依次經歷單元測試、集成測試、系統測試、驗收測試四個主要階段:

單元測試:單元測試是針對軟件設計的最小單位––程序模塊甚至代碼段進行正確性檢驗的測試工作,通常由開發人員進行。
集成測試:集成測試是將模塊按照設計要求組裝起來進行測試,主要目的是發現與接口有關的問題。由於在產品提交到測試部門前,產品開發小組都要進行聯合調試,因此在大部分企業中集成測試是由開發人員來完成的。
系統測試:系統測試是在集成測試通過后進行的,目的是充分運行系統,驗證各子系統是否都能正常工作並完成設計的要求。它主要由測試部門進行,是測試部門最大最重要的一個測試,對產品的質量有重大的影響。
驗收測試:驗收測試以需求階段的《需求規格說明書》為驗收標准,測試時要求模擬實際用戶的運行環境。對於實際項目可以和客戶共同進行,對於產品來說就是最后一次的系統測試。測試內容為對功能模塊的全面測試,尤其要進行文檔測試。
單元測試測試策略:

6、測試人員在軟件開發過程中的任務是什么?
1、盡可能早的找出系統中的Bug;
2、避免軟件開發過程中缺陷的出現;
3、衡量軟件的品質,保證系統的質量;
4、關注用戶的需求,並保證系統符合用戶需求。
總的目標是:確保軟件的質量。


7.一個測試工程師應具備那些素質?
1、責任心2、溝通能力3、團隊合作精神4、耐心、細心、信心
5、時時保持懷疑態度,並且有缺陷預防的意識6、最好具備一定的編程經驗
 

8、對某軟件進行測試,發現在WIN98上運行得很慢,怎么判別是該軟件存在問題還是其軟硬件運行環境存在問題?

看需求中軟件的運行環境要求。
如果符合要求則是程序存在問題,若不符合要求則是硬件系統存在問題















 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM