3班6組專案測試心得
軟體測試的幾種基本方法
首先先介紹一下軟體測試的幾種基本方法吧。
說到測試,想到的當然就是我們大家熟悉的黑盒測試和白盒測試,這是按是否檢視程式內部結構分的。其次,還可以按是否執行程式分為靜態測試和動態測試,按階段可分為單元測試、整合測試、系統測試、驗收測試、迴歸測試。除此之外還有冒煙測試、隨機測試等。接下來就詳細介紹一下以上幾種測試。
一、按是否檢視程式內部結構分為:
1、黑盒測試(Black Box Testing):
黑盒測試是根據軟體的規格對軟體進行的測試,這類測試不考慮軟體內部的運作原理,因此軟體對使用者來說就像一個黑盒子。簡單來說,這種測試只關心輸入和輸出的結果,並不考慮程式的原始碼。黑盒測試分為功能測試和效能測試:
1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟體的功能是否符合使用者的需求。包括邏輯功能測試、介面測試、易用性測試和相容性測試。
2)效能測試(performance testing),軟體的效能主要有時間效能和空間效能兩種。其中,時間效能主要指軟體的一個具體事務的響應時間,而空間效能主要指軟體執行時所消耗的系統資源。
2、白盒測試(White Box Testing):
白盒測試是把測試物件看作一個開啟的盒子。利用白盒測試法進行動態測試時,需要測試軟體產品的內部結構和處理過程,不需測試軟體產品的功能。與黑盒測試相反,這種測試就要研究程式裡面的原始碼和程式結構。
二、按是否執行程式分為:
1、靜態測試(static testing):
靜態測試指測試不執行的部分,只是靜態地檢查程式程式碼、介面或文件可能存在的錯誤的過程。例如測試產品說明書,對此進行檢查和審閱.。
2、動態測試(dynamic testing):
動態測試是指通過執行軟體來檢驗軟體的動態行為和執行結果的正確性。具體操作就是輸入相應的測試資料,檢查輸出結果和預期結果是否相符的過程。
三、按階段分為:
1、單元測試(Unit Testing):
單元測試是最微小規模的測試,測試的是某個功能或程式碼塊。典型地由程式設計師而非測試員來做,因為它需要知道內部程式設計和編碼的細節知識。
2、整合測試(Integration Testing):
整合測試是指一個應用系統的各個部件的聯合測試,以決定他們能否在一起共同工作並沒有衝突。部件可以是程式碼塊、獨立的應用、網路上的客戶端或伺服器端程式。這種型別的測試尤其與客戶伺服器和分散式系統有關。一般整合測試以前,單元測試需要完成。
3、系統測試(System Testing):
系統測試是將整個軟體系統看做一個整體進行測試,包括對功能、效能,以及軟體所執行的軟硬體環境進行測試。
4、驗收測試(Accept Testing):
驗收測試是基於客戶或終端使用者的規格書的最終測試,或基於使用者一段時間的使用後,看軟體是否滿足客戶要求。一般從功能、使用者介面、效能、業務關聯性進行測試。
5、迴歸測試(Regression testing):
迴歸測試是指在發生修改之後重新測試先前的測試以保證修改的正確性。理論上,軟體產生新版本,都需要進行迴歸測試,驗證以前發現和修復的錯誤是否在新軟體版本上再次出現。
四、其他型別測試:
1、冒煙測試(smoke testing):
冒煙測試的名稱可以理解為該種測試耗時短,僅用一袋煙功夫足夠了。也有人認為是形象地類比新電路板基本功能檢查。任何新電路板焊好後,先通電檢查,如果存在設計缺陷,電路板可能會短路,板子冒煙了。冒煙測試的物件是新編譯的每一個需要正式測試的軟體版本,目的是確認軟體基本功能正常,可以進行後續的正式測試工作。冒煙測試的執行者是版本編譯人員。
2、隨機測試(random testing):
隨機測試是指測試中所有的輸入資料都是隨機生成的,其目的是模擬使用者的真實操作,並發現一些邊緣性的錯誤。
我們組專案使用的測試方法 (驗收測試)
我們專案一期、二期的測試採用的是驗收測試方法,通過與指導老師見面進行驗收,現場執行演示看專案是否滿足老師的需求。主要關注的方面為:功能是否全部符合老師要求,介面是否符合使用者的審美需求,執行是否流暢,功能是否全部執行正常。
測試時發現的問題
一、 模擬器中測試發現的問題:
(一) 前端問題:
-- 要考慮店鋪被封禁情況的部分:(暫時不考慮已在圖書封禁部分處理)
圖書加入到購物車
圖書詳情中的立即支付
-- 要考慮使用者被封禁情況的部分:
圖書詳情中的立即支付
購物車頁面的結算
-- 要考慮圖書的book_status=1(封禁)和=2(下架)的部分:
圖書詳情中的加入購物車
圖書詳情中的立即支付
圖書詳情中的進入店鋪
-- 上架圖書型別傳送
types(逗號分割的圖書型別id)
-- 建立訂單時根據返回值提訂單是否建立成功(圖書數量大於庫存會建立失敗"返回值為ERROR")
(二) 後端問題:
--修改圖書庫存、銷量併發問題(for update)
-- 登入時額外返回使用者狀態(user_status),店鋪狀態
-- 檢索圖書(包括熱銷榜、搜尋等)排除所有的book_status=1圖書
-- 建立訂單時逐一判斷圖書數量是否大於庫存,修改資料時的併發問題
-- 建立訂單時,根據前端傳送的vip_level得到相應的折扣preferential,插入preferential到order_table
-- 上架圖書考慮豆瓣連結情況(判斷cover是否包含”douban”子字串),根據前端傳送的types(逗號分割的數字),插入圖書之前用lock鎖表,再檢索出最大book_id後解鎖(先插入圖書再繫結圖書型別)
-- 更新圖書考慮豆瓣連結情況(判斷old_cover是否包含”douban”子字串)
-- 訂單詳情額外返回賣家的user_id命名為store_owner和折扣preferential
-- 圖書詳情額外返回賣家的user_id命名為store_owner
-- 高階管理員返回使用者狀態和店鋪狀態
二、 真機除錯的問題
1、修改個人資訊頁面文字未居中(I))
2、提交訂單頁面書籍文字被遮擋(A,I)
3、評價頁面字型偏低(I)
4、我的頁面VIP等級顯示問題(I)
5、店鋪收藏為空時不顯示提示(A,I)
6、收貨地址管理刪除圖示錯亂(I)
7、店鋪管理頁面圖示錯亂(I)
8、銷量檢視頁面下面有白邊(A,I)
9、銷量檢視資料分析按鈕沒有圖片(A)
10、留言板刪除問題(I)
11、店鋪資訊介面沒有圖片(A)
12、店鋪收藏介面不顯示店鋪頭像(I)
13、圖書詳情頁面店鋪收藏圖示不顯示、評價箭頭不顯示、點選進入店鋪後不顯示店鋪星級和圖片(A)
14、首頁圖片顯示問題(I)
測試後的感受
寫的時候都覺得自己寫的程式碼沒問題,但是一到了前後端聯合測試的時候,就有很對問題出現了,在模擬器中測試和真機測試的區別也很大。模擬器不能完全模擬真機環境。所有一定要注意這一點,留夠時間做真機測試。