眼間,2021年即將結束,在短短的一年中,測試行業經過不斷的發展和完善,也有了煥然一新的變化。
從前,很多人對軟件測試的刻板印象都是,“可有可無”、“不如開發”、“工作簡單機械 ”等等,而如今隨著測試在企業中的比重不斷增重,網上的這些負面評論出現的概率也隨之減少了。
隨著測試崗位的逐漸成熟化,企業對于測試人員的要求也在不斷提升,從一開始的只需要學會功能性測試轉變為如今更高級的自動化測試了。
我們都知道,IT行業是一個發展很快的領域,需要不斷的精進自己的技能,才能在這條路上走的更遠更好,本期,借著年末的機會,也給大家總結一下如今測試行業都有哪些必會的方法和技術知識點,主要針對新手,小伙伴們也可以根據文章的內容查漏補缺。
一、設計方法分類
黑盒測試
黑盒測試是進行軟件配置項測試、系統測試、驗收測試的主要技術手段。
我們可以這樣理解,黑盒測試把產品軟件看作是一個黑盒子,只需要關注入口和出口,即我們測試過程中,不需要去理解軟件的具體構成和原理,只是往里面輸入了什么,又出來了什么結果就可以了,和用戶的視覺是一樣的。
黑盒測試注重于測試軟件的功能性需求,主要有三種測試技術,分別是等價類劃分、邊界值分析和決策表。但很多時候,僅僅進行黑盒測試容易產生一定的風險性,因此黑盒測試大多數用于輔助白盒測試發現其他類型的錯誤。
白盒測試
白盒測試是一種以理解軟件內部結構和程序運行方式為基礎的軟件測試技術。通常需要跟蹤一個輸入在程序中經過了哪些函數的處理,這些處理方式是否正確。
白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。
白盒測試常用的測試方法有兩大類,靜態測試方法和動態測試方法。白盒測試法的覆蓋標準有邏輯覆蓋、循環覆蓋和基本路徑測試,同時包含六種覆蓋標準:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋,發現錯誤的能力呈由弱至強的變化。
灰盒測試
灰盒測試是介于黑盒和白盒之間的一種綜合測試方法,它綜合了黑盒與白盒方法的優勢,并有效地避開了兩者各自的缺陷。
灰盒方法通過涵蓋被測軟件的所有層面,以增加技術的覆蓋范圍。如果說黑盒測試人員需要確保界面和功能方面的正常;白盒測試人員通過深入研究軟件的內部結構,以修復源代碼級別的錯誤,那么灰盒測試則是以非干擾的方式(non-intrusive)同時處理兩方面的測試。
灰盒測試非常適合于集成測試,包括:缺乏源代碼和二進制文件的Web應用,以及某些業務領域的需求規范性測試。
對這三種設計方法,不同的方法有著不同的適用場景和想實現目標,應當合理使用來確保軟件滿足各項最終的要求。
二、手動測試和自動化測試分類
手動測試
手動測試是手動測試軟件以查找缺陷的過程。測試人員應該具有最終用戶的觀點,并確保所有功能都按需求文檔中所述運行,期間無需使用任何的自動化工具,其中手動測試的類型包括:黑盒測試、白盒測試、單元測試、系統測試、整合測試、驗收測試。
自動化測試
自動化測試是使用自動化工具來發現缺陷的軟件測試過程。在此過程中,自動化工具會自動執行測試腳本并生成結果。目前比較流行的自動化工具有:HP QTP(專業快速測試)/ UFT(統一功能測試)、Selenium 、LoadRunner、IBM Rational Functional Tester、WinRunner。
我們通常在以下領域會進行自動化測試:回歸測試、負載測試、性能測試。
有很多人認為手動測試是很簡單的一件事,而自動化測試則很難,其實這兩種方式都需要集合使用的,互相都不可代替,自動化測試是對手動測試的一種補充,主要應用在回歸測試,自動化測試的優勢是可以借助計算機的力量,重復的進行測試,可以用于大批量的比較,但對于數據的正確性、業務邏輯等的滿意程度,還是需要手動測試來做的。
所有一個優秀的軟件測試工程師,需要能夠掌握兩種測試方式,有機結合,才能使工作效率更高。
三、按測試目的分類
1、功能測試
功能測試就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能。功能測試經常會也被稱為黑盒測試,只需要考慮測試各個功能是否能夠實現。
通常,我們把功能測試分成如下幾個步驟:
1. 制定測試計劃;
2. 設計測試用例:包含測試什么東西,在什么場景什么環境下測試;
3. 執行測試及產生的測試報告;
功能測試是比較測試人員比較基礎的技能點,之后需要往自動化測試、安全測試等方向更深。
2、非功能性測試
1)性能測試
性能測試是通過自動化的測試工具模擬多種正常,峰值以及異常負載條件來對系統的各項性能指標進行測試。需要測試人員對性能測試相關的概念有所了解,明白什么是性能測試,以及測試的目的是什么。
同時需要會使用測試工具,如學習使用工具JMeter或者LoadRunner,進行性能測試,性能測試最難的其實是調優,這個就需要對代碼以及數據庫有更深的認知之后才可以完成。
2)安全性測試
全性測試是檢查系統對非法侵入的防范能力。主要包括用戶認證、系統網絡安全和數據庫安全方面的測試。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。
3)壓力測試
一般來說,壓力測試的目的是要通過模擬比預期要大的工作負載來讓只在峰值條件下才出現的缺陷曝光。壓力測試主要是為了測試硬件系統是否達到需求文檔設計的性能目標。
4)負載測試
負載測試是指在高于平常水泡泡的負載下,系統或者應用軟件會發生什么情況。
5) 平均無故障時間(MTBF)測試
MTBF測試是測量系統或應用軟件在出錯或當機前的平均運行時間。
6) 容量測試
容量測試一般是用來執行服務器或服務測試。目的是要確定系統的最大承受量
7) 重復性測試
重復性測試是為了確定重復某一程序或場景的效果而采取的一項簡單而“粗暴”(brute force)的技術。
8) 兼容性測試
兼容性測試是指測試軟件在特定的硬件平臺上、不同的應用軟件之間、不同的操縱系統平臺上、不同的網絡等環境中是否能夠很友好的運行的測試。
9)輔助功能測試
輔助功能測試保證軟件公司開發的軟件能被傷殘人使用。
10)本地化測試
本地化就是將軟件版本語言進行更改,本地化測試的對象是軟件的本地化版本。
11)配置測試
配置測試就是測試軟件是否和系統的其他與之交互的元素之間兼容,驗證被測軟件在不同的軟件和硬件配置中的運行情況
12)可用性測試
可用性測試是在產品或產品原型階段實施的通過觀察或訪談或二者相結合的方法,發現產品或產品原型存在的可用性問題。
四、按階段分類
1、單元測試
在單元測試中,在開發階段將測試軟件應用程序的各個組件。單元測試通常由開發人員而不是測試人員完成。測試一段代碼形式的功能以驗證準確性。簡單來說單元測試就是確認單個模塊能否正常工作
2、集成測試
從測試類別來說,集成測試的主要測試內容包括功能性、可靠性、易用性、效率、可維護性和可移植性等,集成測試主要是確認多個模塊能否協同工作。
3、系統測試
將整個軟件系統看做一個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。
4、驗收測試
正式驗收測試是一項管理嚴格的過程,它通常是系統測試的延續。驗收測試的常用策略有三種,它們分別是:正式驗收、非正式驗收或 Alpha測試、Beta 測試。
五、其他測試類型
1、回歸測試
回歸測試(Regression testing) 指在發生修改之后重新測試先前的測試以保證修改的正確性。
2、冒煙測試
冒煙測試是指開發人員修復了先前測試中發現的bug后,想知道這個bug的修復是否會影響到其他功能模塊,需要做的就是冒煙測試。需要保證覆蓋待測產品的絕大部分功能;且被修復了的bug所屬的功能和系統其他骨干功能都是可用的。
3、隨機測試
隨機測試是沒有書面測試用例、記錄期望結果、檢查列表、腳本或指令的測試。主要是根據測試者的經驗對軟件進行功能和性能抽查。
寫在最后
對于新手而言,掌握基礎技巧是目前最重要的事情,因此把握好學習節奏,一步一步來,就離成為一個優秀的軟件測試工程師不遠啦~
一加10 Pro在1月11日正式發布,4699元起。核心升級是二代LTPO屏幕、驍龍8 Gen1、5000mAh電池和80W快充,換上了一加史上最大膽,最有辨識度的外觀設計。
經典“一加紅”包裝,配上哈蘇logo,喜慶又有格調。
上圖左側是一加9 Pro的65W Warp Charge充電頭,C口,型號WC065A11JH,兼容45W PD;
上圖右側是一加10 Pro的80W SUPERVOOC快充頭,型號VCB8JACH,換回A口,使用魔改A口線。這波是用兼容性換體積和重量,功率更大,但更輕。
一加10 Pro現在只提供破界黑、萬物青兩種配色,個人很喜歡的白色款暫時沒開賣的消息。
“四筒”相機矩陣用碩大的3D納米微晶陶瓷裝飾,右下角雙LED補光燈的“P2D 50T”是哈蘇的命名規則,是“第二代哈蘇手機,5000W三攝”的意思。
安卓陣營碩果僅存的三段式靜音按鈕,頂部削平,中框與相機矩陣銜接。很容易被誤戳的底部麥克風,在形狀和位置上都與SIM卡槽孔做了區分,這是好文明。
一加10 Pro后蓋40倍顯微放大圖↑,后蓋磨砂粒度遠大于正常AG玻璃,但又比藍綠廠以前用的大粒度磨砂要細,依然有磨指甲的功用(就是要費點力)。中間混入“閃晶”,不迎光就會黑得很通透,但稍有光線就仿佛表面有一層bling bling的涂層。
真我GT2 Pro、一加10 Pro、一加9 Pro↑
三臺都是6.7英寸2K 120Hz的三星E4屏幕,這一代主要升級了LTPO。兩臺一加的正面區別很小(淺色機身有視覺窄邊加成)。
真我GT2 Pro、一加10 Pro、一加9 Pro、小米11 Ultra↑
一加10 Pro電池增長到5000mAh(9 Pro是4500mAh),還加了陶瓷片,但反而變薄,重量也沒增長多少,這波可以:
真我GT2 Pro是163.2x74.7x8.18mm,189g(玻璃版199g)
一加10 Pro是163.0x73.9x8.55mm,200.5g
一加9 Pro是163.2x73.6x8.7mm,197g
小米11 Ultra是164.3*74.6*8.38mm,234g
一加10 Pro在辨識度上一騎絕塵,注定會有兩極分化的用戶評價,愛之者深,恨之者切。
手感:一加10 Pro因為背蓋弧度區域更大,機身稍薄,拿上手比一加9 Pro更輕薄(雖然實際重了3.5g);
做工:按鍵虛位較??;屏幕邊緣點膠縫稍大,中框略高于后蓋銜接處;后蓋縫隙控制較好;
指紋:位置從底部挪到約屏幕1/4的高度,位置陽間且舒適;
震動:瑞聲0815 X軸線性馬達,力度比前代更強一些,回彈也比較干脆。
一加10 Pro自然模式sRGB色準↑
這塊6.7英寸120Hz雙曲屏,E4材質,第二代LTPO,3216x1440,525pi,峰值亮度1300nit,用了Pixelworks Pro的軟件方案。默認觸控采樣默認是120Hz,部分游戲中是240Hz。
一加10 Pro全白手動最高460nit,此時四角亮度462/465/469/464nit,局部手動最高514nit;自動全白最高731nit,局部最高835nit。手動亮度稍低于真我,自動峰值亮度比一加9 Pro、Find X3 Pro、真我GT2 Pro都低,貌似系統做了亮度限制。
雖然自然模式不如一加9 Pro和Find X3 Pro夸張,但一加10 Pro依然在我們數據庫中排前幾名,表現也比同款屏幕的真我稍強一些,是塊好屏幕。
至于屏幕發光材質的差距問題,三星表示E4功耗比E3低10%,E5比E4功耗低25%。表征是更先進的發光材質,峰值亮度更高;同亮度下則會更加省電。但這一代E5用了新的微透鏡,確實對可視角度有一定的負面影響。
驍龍8 Gen 1、驍龍888、驍龍870、麒麟9000、A14/A15全家桶的性能對比↑
安卓/鴻蒙陣營對比↑
顏色條的長短代表“與最佳成績的差距”,顏色條越長,表示性能越猛。即便不看細項,也能直觀看出驍龍8 Gen 1的GPU提升有多夸張(黃成一片)。
而CPU多核部分,受限于發熱,幾臺驍龍8 Gen 1機器對比驍龍888機型并無多少優勢。而沒有跑分優化的RAR,驍龍8 Gen 1甚至開倒車了,與Exynos 21000、麒麟9000仍有較大差距。
閃存讀寫這邊,持續寫入提升明顯,終于打破以前驍龍平臺800MB/s的限制。
一加10 Pro是驍龍8 Gen 1 + LTPO 2.0 + 5000mAh雙電芯。200nit亮度,經30分鐘《和平精英》(HDR高清+極限幀數+抗鋸齒)、30分鐘B站1080P視頻播放、30分鐘微博短視頻、各30分鐘的Wi-Fi和5G沖浪,共2.5小時的續航測試后,一加10 Pro剩余電量73%,是現在4臺LTPO 2.0機型里表現最好的。
備注:真我GT2 Pro使用的是發布之初的固件,現版本表現估計會更好一些;小米12 Pro是單電芯4600mAh,規格和iQOO 9 Pro接近,但實際上其LTPO方案要應用適配,表現一般,但仍好于沒有LTPO+驍龍888的小米11 Ultra;小米MIX 4是1080P+屏幕。
充電功率曲線↑
一加10 Pro是11V的80W SUPERVOOC快充,峰值功率65.3W左右。5分鐘25%,10分鐘44%,15分鐘62%,充滿耗時30分鐘。和120W級別還有明顯差距,速度比綠廠65W快了半個身位,明顯快于普通的60W級快充↑
一加10 Pro是50W無線充,兼容性方面,用vivo的無線充底座可以觸發10V檔位,17W線上峰值;用小米的無線充底座是20V檔位,峰值13W左右。
魚眼模式、默認0.6倍超廣角、150度超廣角模式↑
魚眼模式、默認0.6倍超廣角、150度超廣角模式,中央放大對比。除魚眼模式,另外兩個模式的中央區域分別不大↑
魚眼模式、默認0.6倍超廣角、150度超廣角模式,左側邊緣對比。默認的0.6倍,邊緣物體橫評豎直,但因畸變校正,邊緣視野和畫質都有一定的拉伸損失。
超廣角↑
主攝↑
3.3倍長焦↑
主攝,場景2↑
超廣角,場景2↑
主攝,場景3↑
超廣角,場景3↑
主攝,場景4↑
超廣角,場景4↑
相機規格的主要變動,是超廣角從自由曲面鏡頭的IMX766切換到150度的JN1:
主攝IMX789,4800W,1.12 μm,1/1.35"(原生16:11),拍照時4:3,等效1/1.43"(拍視頻時16:9),23mm,F1.8 ,7P 鏡頭,OIS;
150度超廣角,5000W,JN1,1/2.76'',0.64μm,F2.2
3.3倍長焦,800W,OV08A10,1μm,1/4.4" ,OIS,F2.4
拍照方面,一加10 Pro的核心提升在拍照體驗和3.3倍長焦。一加10 Pro的成片速度和快門響應都遠快于一加9 Pro,而且成片率較高。白平衡表現正常,依然有拉高對比度的操作,高光壓制表現一般,主攝是正常旗艦水平,超廣角削弱比較明顯,也沒有微距功能,而3.3倍長焦得益于算法提升,成片率和表現都有一定程度提升。
基于Android 12的ColorOS 12.1,沒有傳統的“一加紅”主題,有點不習慣。除了后臺管理依然極其嚴格,其他確實沒什么好抱怨的。
驍龍8 Gen 1只會在首次打開App的瞬間爆發全核最高頻,其余大部分時間的頻率都很保守。但無奈ColorOS的流暢度優化確實是做得很好,日常使用流暢,就算在淘寶這些"3A大作"里的卡頓感也比常見機型輕。
因為是新架構的驍龍8 Gen 1,安裝32位應用會有相應提示。絕大部分主流App都有64位,如果擔心32位App跑在A710上而產生的耗電和卡頓問題,可用LibChecker看一下自己日用App有哪些還是32位。
有一說一,今年一加10 Pro的最大特色,應該是這個安卓陣營最智能的LTPO機制,可能沒有之一(雖然地圖App還是鎖60幀,但現在大部分都有120Hz了)。靜止畫面最低刷新率會迅速下降到1Hz,觸控瞬間(官方宣稱75ms)彈回120Hz,而且是無需軟件適配的。一加和真我有幾個特別不同的地方(OPPO估計也會是類似的設定):
常規機型在開發者選項里的幀率顯示,是SurfaceFlinger的VRR刷新率,而一加把其改成顯示芯片返回的LFD頻率,讓其可以反映真實的刷新率變化;
不同亮度下的最低刷新率是不同的,亮度越高,其靜止的最低刷新率越低,有10Hz、5Hz和1Hz 三個最低檔位。一加把2條“分界線”放在第五個快捷按鈕的兩側↓,300nit亮度以上最低1Hz,日常室內光線環境(對應屏幕亮度100到200nit)是10Hz,中間區域是5Hz。
注意亮度條位置與最低刷新率的對應關系↑
使用“蛋LTPO”RefreshRateTester測試一加10 Pro具體的LTPO策略。測試模擬了1/10/20/24/30/48/60/72/90/96/120Hz,一共11個檔位的動畫:
顯示1/10/20/24/30Hz30Hz動畫時,左上角的FLD刷新率是分別是“1Hz、1Hz和10Hz間跳動、30Hz”,不會因觸控彈回120Hz
顯示48/60Hz動畫時,FLD刷新率都是30Hz,但會根據觸控彈回120Hz;
顯示72/90/96/120Hz動畫時,FLD在30/60Hz跳動,會根據觸控彈回120Hz;
打字間隙,屏幕也會在多個刷新率之間快速變換↑
B站等視頻App,滑動列表是120Hz,有彈幕時是60Hz,關閉彈幕就30Hz↑
一加10 Pro的LTPO 2.0,體驗和正常高刷手機別無二致,沒有幀率顯示的話,根本無法察覺。
當然,LTPO的目的本來就不是流暢度,而是續航。其效果確實在續航測試中展現出來,感謝5000mAh電池、LTPO和CPU調度,一加10 Pro是當今續航最好的2K屏旗艦,就算和1080P屏的中端手機放一起,續航也不慫。
原神30分鐘璃月港夜間跑圖,平均幀率39.6幀
和平精英HDR 60幀 30分鐘,平均幀率59.4幀
王者榮耀90幀,單局11分鐘左右,平均89.2幀。因為系統默認渲染720p,若以后能解開限制再做測試。
年前4臺真·驍龍8 Gen 1旗艦規格如上。今年一加10 Pro的點定位有點偏游戲,但表現最突出的,反而是真·LTPO 2.0帶來的續航優勢,80W快充也挺OK。一加10 Pro依然是頂級屏幕配IMX789,依然是流暢度讓友商懵逼的ColorOS,少了IP68和IMX766超廣角,起售價比前代低了300元。
看完一加10 Pro,現在就更加關心:一加10什么時候出來?一加10 Ultra或者一加10T Pro什么時候出來?