大數據的測試思惟與探索

導讀
  隨着大數據時代的跨入,對 測試人員的要求又提高到了一個新高度,這個高度讓一部分測試人員感到措手不及,甚至對將來產生了迷茫。
  一、如何作到與時俱進
  二、如何讓本身成爲一個優秀的測試人員
  三、如何轉變本身的思考方式
  四、如何讓 技術可以有一個質的飛越
  ……
  每個測試人員在這個時代都應該認真思考,但僅僅思考並不能解決全部問題,如何作纔是關鍵。
   一、大數據思惟
  大數據,已經成爲了一個時代的代名詞,當今的 互聯網屬於大數據時代。大數據時代的到來,顛覆了以往對數據的慣性思考方式。保證數據質量、軟件質量、測試質量、數據利用率、數據使用場景等,都須要從新換一個角度,站在更高的高度進行全方面的思考。這種思考方式稱爲大數據思惟,即從數據的應用場景切入,思考如何挖掘數據自己的價值,並將其轉變爲市場價值。
  在具備大數據思惟以前,須要引起對大數據定義的一個思考,到底什麼才能稱之爲大數據?大數據具備三個維度的定義: Volume, Velocity, Variety,而字面上對於大數據的理解,簡單來講就是具有很大的數據量,很大很大的數據量。這就又引出了另一個問題:多大的數據才能算大數據呢?隨着技術不斷的進步,回望5年、10年前,咱們曾經認爲已經足夠大的、以GB衡量的數據量,如今已經不可以稱之爲大數據了;也許用不了幾年,TB、PB、EB、ZB,甚至於YB都會成爲過去式。既然咱們不可以在數量上對大數據進行一個定義,那麼就須要從另外一個角度去從新思考大數據,那就是數據思惟,擁有了數據思惟,便擁有了大數據的思考方式,也就擁有了大數據。
  思惟是思想層面的、是意識層面的,若是連思惟方式都不具有,那麼空有再強的技術也是無用。一切技術都是爲業務服務,脫離業務的技術一文不值。這句話在大數據時代的今天,仍然適用,而且會一直適用下去。在普惠大數據中心,天天都面對着海量數據,如何去應用這些數據,如何將數據實現它應有的價值,是最重要也是最須要思考的問題點之一,只有懂得數據的應用場景與方式,纔可以明白數據的重要性,纔算是真正跨入大數據思惟的門檻。
  數據思惟,直指問題核心,即解決問題的思惟。在企業中,做爲一名技術人員,就是圍繞着解決問題而進行思考,爲此必需要深刻需求、瞭解數據建模、懂算法,一切思考都是爲了解決問題,將數據實現它應有的價值。
  只有真正掌握了核心思想,纔可以更好、更強、更深的提升數據的使用率,所以咱們再也不以數據量的大小來定義大數據的含義,而是如何使用數據,這即是咱們的測試思惟、數據思惟、質量思惟、價值思惟。
   傳統測試思惟
  以產品需求爲最根本依據,不管 測試用例的書寫仍是用戶場景的設計所有依照固定的產品需求來進行。
  示例:
  傳統測試在產品需求肯定完畢後,那麼用戶使用場景已經固定。假設這次測試的產品是一個傳統的電商網站業務,按照用戶的使用行爲咱們首先要作的就是註冊頁面功能的測試,以黑盒 用例設計模式爲用例設計思想對輸入框等進行功能性測試、而後進行的是 性能測試以及 安全測試
   大數據測試思惟
  以從數據的應用場景挖掘市場價值爲最根本的依據,測試人員以質疑的方式針對模型進行測試,同時能夠對任何數據使用方式提出合理化建議。
  示例:
  知識圖譜項目的測試,關係建立以下:(具體關於知識圖譜相關知識請參閱公衆微信號中《知識圖譜的應用》 文章
  以上知識圖譜描述的事實(Fact)是張三是李四的父親,那麼在測試過程當中若是測試人員認爲張三是李四的父親(is_father_of)的關係形容並不夠精準,那麼咱們能夠提出本身認爲更精準的關係描述,或者是說張三或李四是否具有單獨成爲一個實體的條件,(固然在提出質疑前必定是已經進行過深層次的考慮過,而且可以給出解決方案的建議,咱們堅定抵制無解決方案的質疑)對一切質疑、對一切思考,讓一切變的合理,在質疑與思考中不斷的成長。
  作好測試的前提即是須要這種思惟方式,直指問題自己,站在必定高度的思考。
   二、高效快速的計算
  具有了數據思惟、思考的高度及方式還遠遠不夠,從技術的角度來說,這只是實現了咱們如何使用數據的功能、如何使用數據來應對企業各種需求、爲企業創收的最基本要求。作到了最基本的要求以後,如何可以應對大的併發、高效的計算是以後要面臨的一個重要挑戰。
   · 如何利用好每一塊內存區域?
  jvisualvm、jconsole結合底層命令等觀察內存堆棧區域與類對象內存佔用生命週期變化。
   · 如何高效的使用cpu的計算能力?
  cacti、zabbix、lepux等集羣監控應用進程cpu利用率、內存、IO、網絡等服務器資源以及打點計算類運行時間。
   · 如何從技術以及業務角度優化咱們的應用程序架構?
  滲透學習業務以及擴大知識面,將業務場景與應用程序架構相結合。
   · 如何利用最少的資源去提高咱們代碼工做的效率?
  極限優化咱們的程序代碼,優化每個算法,不斷的向上抽象,代碼模塊化,以最少的代碼實現咱們的業務場景。
   · 如何保證咱們的代碼質量?
  CodeReview、CodeStyle、結對編程、TDD多層機制保證代碼質量。
  ......
  思考着每個變慢的可能,思考着如何應對某一天突發的數據量暴增該採起的應對方案。
  不斷的思考、不斷的準備、不斷的進步,爲如今面臨的問題提供最優的解決方案,爲未來可能面臨的問題進行預估,作好應急方案。
  一個優秀的測試人員要習慣變化、擁抱變化而且適應變化,要有危機意識與將來的規劃能力,只有這樣纔可以在危機忽然來臨時,有足夠的方案去選擇、應對;即使是沒有預估到某一類危機,也擁有了足夠多的思想準備與方案准備,不至於措手不及與惶恐不安,以最少的時間成本最快地去解決問題。
   三、安全
  如何在錯綜複雜的網絡環境中保障本身數據的安全性已經成爲了一個世界性的課題,網站宕機、癱瘓等問題的影響範圍遠遠不能與數據丟失對客戶所形成的傷害相比,傷害客戶的行爲就是損害公司利益的行爲。
  國內知名網站被拖庫的事件大大地傷害了一批用戶,在這方面用戶是脆弱的,被傷害了也許這輩子就不再會回來了(固然壟斷行業就不說了)。爲此須要一直從安全的角度進行思考:如何作到不被拖庫、一旦被拖庫後 黑客可以看到哪些信息;以此來保護用戶以及企業的利益。
  在如此開放的網絡平臺上,爲保證安全性,全部的測試人員須要不停地扮演着各類角色,黑帽子、白帽子,不停的演練攻防,本身與本身博弈,既是攻城者又是守城者。感覺着不一樣格式的數據流在程序中流轉、提防着不一樣的數據可能會給應用程序帶來的危害。能夠假裝成身份合法的用戶來進行訪問(csrf身份假裝,其實咱們是間諜),也能夠變身成爲大批量的攻擊者以蠻橫的方式來對網站進行訪問,如同古代攻城般,進行純力量的碰撞(ddos最野蠻的攻擊模式),變換攻擊手法,變換不一樣的身份,樂衷於此,在此中體會那一份獨屬於測試人員的樂趣。
  不過這些手法已經屬於比較大衆的攻擊手法,測試人員的榮譽則是探索到還未普及、周知的手法,這須要永不止步的前進和努力。
  信息爆炸的社會,技術的進步也是飛速的。ddos、xss、csrf、sql注入等等攻擊手法五花八門,只有不斷的學習,不斷的成長,不斷的進步纔可以保證與時俱進。
   四、結語
  大數據時代已經進入了高速發展的時期,這個時代對測試人員的要求與以往都有所不一樣,不只僅是技術,更多的是前面提到的數據思惟,只有抓住了問題核心纔可以從根本上解決問題。
  咱們在向着國內頂尖的測試團隊方向努力,全力打造一個一流的、全能的、高精尖的測試團隊。這將是咱們不斷奮進、努力的目標。
相關文章
相關標籤/搜索