軟體測試就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例後,需要跟蹤故障,以確保開發的產品適合需求。
使用人工或者自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別. 它是幫助識別開發完成(中間或最終的版本)的計算機軟體(整體或部分)的正確度(correctness) 、完全度(completeness)和質量(quality)的軟體過程;是SQA(software quality assurance)的重要子域。
Grenford J.Myers曾對軟體測試的目的提出過以下觀點: (1)測試是為了發現程序中的錯誤而執行程序的過程; (2)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案; (3)成功的測試是發現了至今為止尚未發現的錯誤的測試。
然而,這種觀點指出測試是以查找錯誤為中心,而不是為了演示軟體的正確功能.但是只從字面意思理解,可能會產生誤導,認為發現錯誤是軟體測試的唯一目的,查找不出錯誤的測試就是沒有價值的測試,實際上並非如此!
(1)測試並不僅僅是為了找出錯誤.通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助項目管理者 發現當前軟體開發過程中的缺陷,以便及時改進;
(2)這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性;
(3)沒有發現錯誤的測試也是有價值的,完整的測試是評定軟體質量的一種方法 軟體測試完整分類,參見:軟體測試的完整分類
以上的都是官話!其實說白了,軟體測試就是在開發人員做出軟體投放市場前,盡可能早的找出軟體當中所存在的BUG!因為任何軟體在理論上來說都是存在問題的,都不是完美的!盡早的找出漏洞,公司的損失也就越低!這也就是軟體測試人員越來越受重視的原因!
其實軟體測試是一種相當乏味枯燥的工作,一般面公司都比較偏向稍微內向的人,另外測試人員還要具備相當的口才,方便與開發人員還有客戶交流!
B. 手機軟體軟體測試分為哪個幾個模塊。平時主要是做什麼的。
1、單元測試
單元測試主要是對該軟體的模塊進行測試,通過測試以發現該模塊的實際功能出現不符合的情況和編碼錯誤。由於該模塊的規模不大,功能單一,結構較簡單,
2、集成測試
集成測試是軟體測試的第二階段,在這個階段,通常要對已經嚴格按照程序設計要求和標准組裝起來的模塊同時進行測試,明確該程序結構組裝的正確性,發現和介面有關的問題,比如模塊介面的數據是否會在穿越介面時發生丟失。
3、系統測試
一般情況下,系統測試採用黑盒法來進行測試的,以此來檢查該系統是否符合軟體需求。
4、驗收測試
驗收測試是最後一個階段的測試操作,在軟體產品投入正式運行前的所要進行的測試工作。和系統測試相比而言,驗收測試與之的區別就只是測試人員不同,驗收測試則是由用戶來執行這一操作的。
(2)手機軟體系統測試擴展閱讀
無論是持續交付2.0——矽谷頂級互聯網公司的產品研發方法分享,還是網路持續集成智能化平台十年探索之路,或者螞蟻金服 Code Velocity:環境&持續測試&代碼門禁實踐,以及 Google 最新移動測試方。
騰訊海量用戶大型游戲背後的質量保障體系建設、螞蟻金服代碼實時染色系統都讓參會人員深刻體驗到 BAT、Google 等頂級互聯網企業前沿測試技術和質量保障能力帶來的強烈沖擊和對未來變革趨勢的全新視野。
未來的軟體測試工程師和質量管理人員必須同時具備一定的開發和運維能力。測試人員會更深入介入開發工作,通過測試左移,提前與開發人員一起制定測試計劃,推動代碼評審、代碼審計、單元測試、自動化冒煙測試、測試精準化分析以及研發自測等來保證研發階段的質量。
C. 手機應用軟體測試經驗總結
隨著科技的進步,手機款型可謂日新月異,功能也越來越豐富。相應的,越來越多的手機應用軟體也伴隨著手機功能的多樣化應運而生。面對種類眾多的手機應用軟體,該如何進行測試,測試時又需要重點關注什麼呢?本文檔由國內專業移動應用測試雲服務平台-愛內測( www.ineice.com )的測試工程師分享。
對於產品的手機項目(應用軟體),主要是進行系統測試。而針對手機應用軟體的系統測試,我們通常從如下幾個角度開展:功能模塊測試,交叉事件測試,壓力測試,容量測試,兼容性測試,易用性/用戶體驗測試等。
1、功能模塊測試:首先應分析功能模塊的功能項,測試每個功能項是否能夠實現對應的功能。一般根據測試用例(Test Case)或軟體本身的流程就可以完成基本功能測試(相對簡單,故障也較容易發現、解決)。
2、交叉事件測試:又叫事件或沖突測試,是指一個功能正在執行過程中,同時另外一個事件或操作對該過程進行干擾的測試。例如通話過程中接收到簡訊或鬧鈴觸發,應用軟體運行過程中插拔充電器等。執行干擾的沖突事件不能導致應用軟體異常、手機死機或花屏等嚴重問題。另外,還需要注意各交叉事件的優先順序別,檢驗系統是否能依據各事件的優先順序別依次進行處理。不能因執行優先順序別高的事件而導致優先順序較低的事件弔死。
交叉事件測試非常重要,一般能發現應用軟體中一些潛在的問題。另外有中英文模式切換的手機要注意中英文模式切換後的功能實現存在的問題(這個主要針對手機應用軟體支持語言自適應功能),這一點通常會被測試人員忽略。
3、壓力測試:又叫邊界值容錯測試或極限負載測試。即測試過程中,已經達到某一軟體功能的最大容量、邊界值或最大的承載極限,仍然對其進行相關操作。例如連續進行簡訊的接收和發送,超過收件箱和SIM卡所能存儲的最大條數,仍然進行短消息的接收或發送,以此來檢測軟體在超常態條件下的表現,進而評估用戶能否接受。
對手機可以施加的壓力測試類型主要有:
●存儲壓力:由於手機採用的是棧式存儲,所以當一個存儲塊滿了之後,如果程序員不做相應處理或者處理不好的話,很容易造成其他存儲區被擦除,從而在UI上出現問題(比如其他功能無法正常使用,出現異常)。
●
邊界壓力:邊界處理一直是程序員最容易忽略的地方。
●
響應能力壓力:有時候某個操作可能處理的時間很長,在處理期間如果測試者再不斷地進行其他操作的話,很容易出現問題。
●
網路流量壓力:執行較大數據流量的功能的同時,再進行其他功能操作,使得網路流量始終處於很高的狀態(如視頻通話時再進行簡訊等其他功能操作),驗證各功能是否依然能正常工作,是否存在因網路流量瓶頸而引起某功能異常。
壓力測試用手工測試可能很繁鎖,可以考慮自動化測試。遺憾的是,目前還沒有較為大量使用的工具,一般都是由開發人員配合開發出的工具,或者高級的測試人員編寫出的腳本。
4、容量測試:即存儲空間已滿時的測試,包括手機用戶可用內存和SIM卡的所有空間被完全使用的測試。此時再對可編輯的模塊進行和存儲空間有關的任何操作測試,如果軟體在極限容量狀態下處理不好,有可能導致死機或嚴重的花屏等問題的出現。
5、兼容性測試:也就是不同品牌、款型的手機(針對目前我們產品來說,主要是針對不同品牌、款型的手機上的測試),不同網路,不同品牌和不同容量大小的SIM卡之間的互相兼容的測試。以短消息為例:中國電信的小靈通接收到從中國移動或中國聯通GSM發來的短消息,需要驗證顯示和回復功能是否正常等。再比如,應用軟體分別在Nokia N80、N93手機上運行,各功能是否均能正常使用,界面是否均顯示正常等。
6、易用性/用戶體驗測試:易用性(Useability)/用戶體驗是指在指定條件下使用時,軟體產品被理解、學習、使用和吸引用戶的能力,是交互的適應性、功能性和有效性的集中體現。
G7A�x�K)M