① 做軟體測試都需要學什麼呢
蝸牛學院這里根據行業變化和企業用人需求整理了一份Python軟體測試學習路線,主要學習以下內容,題主可以了解一下~
第一階段:專業基礎課程
階段目標:
1. 熟練掌握IT核心技術:編程,資料庫,操作系統,版本控制
2. 能夠熟練運用所學技術搭建各類伺服器環境
3. 深入理解軟體研發過程各種疑難雜症及處理手段
4. 掌握Python編程技術並熟練運用Python進行程序設計
知識點:
1、Web頁面元素,布局,CSS樣式,盒模型,JavaScript程序設計,函數,基礎演算法,正則表達式。
2、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為軟體測試和測試開發打下基礎。
3、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境部署,Shell編程Linux作為一個主流的伺服器操作系統,是每一個測試開發工程師必須掌握的重點技術,並且能夠熟練運用。
4、Python編程基礎,語法規則,函數,數據類型,PDBC,培養扎實的Python編程基本功,同時對Python核心對象編程有熟練的運用。
5、Python面向對象,異常處理,文件IO,多線程,網路編程,PyQT界面開發,深入理解面向對象編程,異常處理機制,多線程原理,網路協議知識,並熟練運用於項目中。
第二階段:專業核心課程
階段目標:
1. 熟練應用所學知識完成一個標準的軟體測試項目
2. 熟練運用Python完成GUI測試,介面測試和性能測試開發
3. 對測試開發技術體系和實現原理有深入的理解
4. 靈活運用測試開發技術解決項目中的各種問題
知識點:
1、軟體工程,軟體質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理理解軟體工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。
2、測試需求分析,測試方案設計,測試用例設計,測試項目實施,缺陷報告與測試報告,深入理解系統測試各個過程和關鍵環節,熟練完成系統測試項目。
3、SikuliX框架,UIAutomation框架,Selenium WebDriver框架,基礎框架,Android應用,Monkey測試,Appium移動端測試框架,UIAutomator2移動端測試框架綜合運用各類應用操作平台,完成各種自動化測試框架的學習和應用,深入理解GUI自動化測試技術及相應框架的測試開發。
4、Python單元測試框架,網路通信協議,HTTP與HTTPS協議,WebService與WebSocket協議,Python的介面測試庫,PostMan與SoapUI介面測試工具通過對代碼級介面測試和協議級介面測試的測試開發實戰,靈活運用Python開發介面測試腳本,熟練運用各類介面測試工具。
5、性能測試原理,指標體系,場景設計,實施過程,JMeter工具應用,BeanShell腳本開發,Python+Locust性能測試框架深入理解性能測試技術體系和方法論,熟練運用JMeter性能測試工具和Locust性能測試框架實施對任意系統的性能測試。
第三階段:綜合實戰項目
階段目標:
1. 將軟體測試和測試開發技術靈活運用於項目中
2. 具備較強的測試開發能力,獨立完成測試開發項目
3. 綜合運用軟體測試技術,滿足企業中高級人才需求
4. 對所學技術有深入的理解並具備獨立解決問題的能力
知識點:
1、測試需求分析,同行評審,測試計劃,測試方案,測試用例,配置管理,持續集成。通過對大型企業級應用系統的測試項目實戰,強化理解系統測試項目的實施過程與技術細節。
2、介面測試設計與實施,回歸測試,冒煙測試,安全性測試,RobotFramework框架應用,UI自動化實戰將各類自動化測試技術結合項目實戰演練,強化對自動化測試技術的運用,同時掌握更多的測試框架。
3、性能測試項目實戰,LoadRunner性能測試工具,總結通過綜合項目實戰,將全套測試技術融入到項目中,強化學習效果和項目經驗。
4、Python原生測試框架開發,包括Monkey,UI,圖像識別,雲測試平台,HTML測試報告,持續集成,KDT關鍵字驅動框架開發等原生技術實現通過大量的Python原生代碼開發,深入理解自動化測試開發技術的底層實現原理,完全拋棄對工具的依賴,做到真正的測試開發技術。
5、基於測試框架的設計思路和實現手段,自主實現一套測試框架能夠獨立完成一套自動化測試框架,並能夠直接用於實際項目中。
6、持續集成與Jenkins,安全性測試原理與工具,Python爬蟲開發與Scrapy框架,提升軟體測試其它類技術,增強知識面,提升競爭力,助力職業發展。
補充知識
1、演算法進階,圖像處理,視頻處理,加密解密,壓縮演算法。
2、UML統一建模語言、五種圖、類圖、類圖詳解、用例圖、時序圖。
3、Dubbo分布式開發框架,Oracle關系型資料庫管理系統,MongoDB非關系型資料庫管理系統。
4、大數據開發框架Hadoop/MapRece/Spark。
5、Android與iOS的原生應用開發與WebApp開發。
6、OpenCV圖像處理框架、TensorFlow深度學習框架,Lucene全文搜索引擎與中文分詞框架Ik-Analyzer,視頻處理演算法與框架等。
② 2018福建農信社的報考條件是什麼
2018福建農信社招聘公告尚未發布,可參考去年報考條件:
(一)身體健康,品德良好,作風正派,遵紀守法,無不良記錄,服從分配。
(二)學歷及專業
1.筆試類
(1)學歷范圍
面向社會招聘類需具有國民教育系列全日制大專及以上學歷(具體以各行社招聘崗位學歷要求為准,系統內服務勞務派遣人員學歷按有關要求執行)。
(2)專業原則上不限(招聘專業性較強的崗位除外)。
2.免筆試類
(1)學歷范圍
①211免筆試類畢業生須為:
A.211(含分校、部隊系列123所)普通高等院校;
B.招生分數線在我省211以上的國家部(委)直屬普通高校及原國家部(委)直屬普通高校(以學校書面函證為依據,並附上辦事處初審意見,由省聯社逐一查對確認);
C.海外排名200名以內大學本科及以上學歷;
D.全日制普通高校研究生。
②本一批免筆試類畢業生須為:
A.本一批次普通高等院校,即參加高考時錄取高校為本一批次普通高校;
B.招生分數線在我省本一批(本一批具體錄取分數線嚴格對照錄取當年的招生簡報)以上的國家部(委)直屬普通高校及原國家部(委)直屬普通高校;
③上列生源第一專業須為非藝術類專業畢業。
(2)專業:免筆試類專業按招聘行社具體要求,對無具體要求的類別按具有國民教育系列全日制金融、財會、經濟、農業、法律、文史、哲學、政教、漢語言文學、文秘、計算機及相近專業審核。
(3)比例要求:面試比例應不低於1:3(D類行社按不低於1:2),否則相應減少招聘名額。
3.學歷及相關證書必須在2017年8月31日前取得。
(三)年齡
1.本科及以下學歷人員年齡在26周歲(含)以內(1991年1月1日以後出生)。
2.碩士研究生可放寬至32周歲(含)以內(1985年1月1日以後出生)。
3.博士研究生可放寬至35周歲(含)以內(1982年1月1日以後出生)。
4.現在銀行業金融機構工作滿2年的在職正式員工,年齡可按其全日制普通高校第一學歷相應放寬4周歲,如:本科學歷可放寬至30周歲、碩士研究生放寬至36周歲。
(四)高學歷考生均可低報,即符合免筆試條件考生可低報筆試類。
③ 如何進行高效的Rails單元測試
登錄
En |
中文 |
日本 |
Fr |
Br
482,381 一月 獨立訪問用戶
語言 & 開發
特別專題語言 & 開發
從概念到原型只需要24小時——開源硬體和3D列印是如何協助智能硬體開發的
硬體復興正成為一個新的浪潮,各種智能硬體層出不窮。在這場新的浪潮
中,和時間賽跑就成為一個重要的競爭手段。在一個好的創意迸發以後,如何在最短時間內對創意進行實體化,加速0-1的過程?隨著開源硬體和3D列印的發展
和完善,在24小時內完成0-1的過程已經成為可能。
瀏覽所有語言 & 開發
Java
.Net
雲計算
移動
HTML 5
JavaScript
Ruby
DSLs
Python
PHP
PaaS
架構 & 設計
特別專題架構 & 設計
從概念到原型只需要24小時——開源硬體和3D列印是如何協助智能硬體開發的
硬體復興正成為一個新的浪潮,各種智能硬體層出不窮。
在這場新的浪潮中,和時間賽跑就成為一個重要的競爭手段。在一個好的創意迸發以後,如何在最短時間內對創意進行實體化,加速0-1的過程?隨著開源硬體和
3D列印的發展和完善,在24小時內完成0-1的過程已經成為可能。
瀏覽所有架構 & 設計
建模
性能和可伸縮性
領域驅動設計
AOP
設計模式
安全
雲計算
SOA
過程 & 實踐
特別專題過程 & 實踐
對《敏捷方法介紹》一書的作者,Sondra Ashmore與Kristin Runyan的問答
由Sondra Ashmore與Kristin Runyan編寫的《敏捷方法介紹》一書對敏捷方法的價值、原則與實踐進行了簡單而直觀的介紹,書中的內容包括了對多位在敏捷轉型方面享有盛名並且受人尊敬的專家的采訪。作者Shane Hastie。
瀏覽所有過程 & 實踐
Agile
領導能力
團隊協作
敏捷技術
方法論
持續集成
精益
客戶及需求
運維 & 基礎架構
特別專題運維 & 基礎架構
架構師(2015年1月)
本期內容推薦:解讀2014之雲計算篇:
有一種態度叫做「擁抱」(上);解讀2014之iOS篇:擁抱變化;解讀2014之Docker篇:才氣、運氣、勇氣;SDN落地的實踐與思考:帶著問題
找方案,別管定義啦;Swift編程語言;手機淘寶構架演化實踐;手機QQ的移動化實踐之路;物聯網傳輸協議MQTT;從信息安全看未來物聯網發展;趙海
峰:大數據決定互聯網金融未來。
瀏覽所有運維 & 基礎架構
性能和可伸縮性
大數據
DevOps
雲計算
虛擬化
NoSQL
應用伺服器
運維
企業架構
特別專題企業架構
架構師(2015年1月)
本期內容推薦:解讀2014之雲計算篇:有一種態度
叫做「擁抱」(上);解讀2014之iOS篇:擁抱變化;解讀2014之Docker篇:才氣、運氣、勇氣;SDN落地的實踐與思考:帶著問題找方案,別
管定義啦;Swift編程語言;手機淘寶構架演化實踐;手機QQ的移動化實踐之路;物聯網傳輸協議MQTT;從信息安全看未來物聯網發展;趙海峰:大數據
決定互聯網金融未來。
瀏覽所有企業架構
企業架構
業務流程建模
業務/IT整合
Integration (EAI)
治理
Web 2.0
SOA
移動
Docker
Node.js
雲計算
大數據
架構師
QCon
ArchSummit
AWS
Azure
Helion
全部話題
您目前處於:
InfoQ首頁
文章
如何進行高效的Rails單元測試
如何進行高效的Rails單元測試
作者
李冠德
發布於
2011年6月18日
|
2
討論
分享到:
微博
微信
Facebook
Twitter
有道雲筆記
郵件分享
稍後閱讀
我的閱讀清單
在筆者開發的系統中,有大量的數據需要分析,不僅要求數據分析准確,而且對速度也有一定的要求的。沒有寫測試代碼之前,筆者用幾
個很大的方法來實現這種需求。結果可想而知,代碼繁雜,維護困難,難於擴展。借業務調整的機會,筆者痛定思痛,決定從測試代碼做起,並隨著不斷地學習和應
用,慢慢體會到測試代碼的好處。
改變思路:能做到從需求到代碼的過程轉換,逐步細化;
簡化代碼:力圖讓每個方法都很小,只專注一件事;
優化代碼:當測試代碼寫不出來,或者需要寫很長的時候,說明代碼是有問題的,是可以被分解的,需要進一步優化;
便於擴展:當擴展新業務或修改舊業務時,如果測試代碼沒有成功,則說明擴展和修改不成功;
時半功倍:貌似寫測試代碼很費時,實際在測試、部署和後續擴展中,測試代碼將節省更多的時間。
環境搭建
筆者採用的測試環境是比較流行通用的框架:RSpec + Factory Girl,並用autotest自
動工具。RSpec是一種描述性語言,通過可行的例子描述系統行為,非常容易上手,測試用例非常容易理解。Factory
Girl可以很好的幫助構造測試數據,免去了自己寫fixture的煩惱。Autotest能自動運行測試代碼,隨時檢測測試代碼的結果,並且有很多的插
件支持,可以讓測試結果顯示的很炫。
第一步 安裝rspec和rspec-rails
在命令行中執行如下命令:
$ sudo gem install rspec v = 1.3.0
$ sudo gem install rspec-rails v = 1.3.2
安裝完成後,進入rails應用所在的目錄,運行如下腳本,生成spec測試框架:
$ script/generate rspec
exists lib/tasks
identical lib/tasks/rspec.rake
identical script/autospec
identical script/spec
exists spec
identical spec/rcov.opts
identical spec/spec.opts
identical spec/spec_helper.rb
第二步 安裝factory-girl
在命令行中執行如下命令:
相關廠商內容
網路 FEX 創立者劉平傳分享全端精英團隊打造心得
阿里高級搜索專家分享開放搜索服務系統架構
知道創宇首席安全官黑哥分享黑客傳奇
觸控科技運維總監蕭田國分享高效運維訣竅
肖德時:基於Docker容器的雲計算平台搭建實戰
相關贊助商
全球軟體開發大會,4月23-25日,北京,敬請期待!
$ sudo gem install factory-girl
在config/environment/test.rb中,加入factory-girl這個gem:
config.gem "factory_girl"
在spec/目錄下,增加一個factories.rb的文件,用於所有預先定義的model工廠。
第三步 安裝autotest
在命令行中執行如下命令:
$ sudo gem install ZenTest
$ sudo gem install autotest-rails
然後設置與RSpec的集成,在rails應用的目錄下,運行如下的命令,就可以顯示測試用例的運行結果。
RSPEC=true autotest or autospec
在自己的home目錄下,增加一個.autotest設置所有的Rails應用的autotest插件。當然,也可以把這個文件加到每個應用的根目錄下,這個文件將覆蓋home目錄下的文件設置。autotest的插件很多,筆者用到如下的plugin:
$ sudo gem install autotest-growl
$ sudo gem install autotest-fsevent
$ sudo gem install redgreen
設置.autotest文件,在.autotest中,加入如下代碼。
require 'autotest/growl'
require 'autotest/fsevent'
require 'redgreen/autotest'
Autotest.add_hook :initialize do |autotest|
%w{.git .svn .hg .DS_Store ._* vendor tmp log doc}.each do |exception|
autotest.add_exception(exception)
end
end
測試經驗
安裝了必要的程序庫以後,就可以寫測試代碼了。本例中,所有應用都是在Rails
2.3.4上開發的,RSpec採用的是1.3.0的版本。為了很好的說明問題,我們假定這樣的需求:判斷一個用戶在一個時間段內是否遲到。寫測試代碼時
都是遵循一個原則,只關心輸入和輸出,具體的實現並不在測試代碼的考慮范圍之內,是行為驅動開發。根據這個需求,我們將會設計方法absence_at(start_time,end_time),有兩個輸入值start_time和end_time以及一個輸出值,類型是boolean。對應的測試代碼如下:
describe "User absence or not ring [start_time,end_time]" do
before :each do
@user = Factory(:user)
end
it "should return false when user not absence " do
start_time = Time.utc(2010,11,9,12,0,0,0)
end_time = Time.utc(2010,11,9,12,30,0)
@user.absence_at(start_time,end_time).should be_false
end
it "should return true when user absence " do
start_time = Time.utc(2010,11,9,13,0,0,0)
end_time = Time.utc(2010,11,9,13,30,0)
@user.absence_at(start_time,end_time).should be_ture
end
end
測試代碼已經完成。至於absence_at方法我們並不關心它的實現,只要這個方法的結果能讓測試代碼運行結果正確就可以。在此測試代碼的基礎上,就可以大膽地去完成代碼,並根據測試代碼的結果不斷修改代碼直到所有測試用例通過。
Stub的使用
寫測試代碼,最好首先從model開始。因為model的方法能很好與輸入輸出的原則吻合,容易上手。最初的時候,你會發現mock和stub很好
用,任何的對象都可以mock,並且在它的基礎上可以stub一些方法,省去構造數據的麻煩,一度讓筆者覺得測試代碼是如此美麗,一步步的深入,才發現自
己陷入了stub的誤區。還是引用上面的例子,我們的代碼實現如下:
class User < ActiveRecord::Base
def absence_at(start_time,end_time)
return false if have_connection_or_review?(start_time,end_time)
return (login_absence_at?(start_time,end_time) ? true : false)
end
end
按照最初寫測試代碼的思路,本方法中存在三種情況,即需要三個用例,而且還調用了其他兩個方法,需要對他們進行stub,於是就有了下面的測試代碼。記得當時完成後還很興奮,心中還想:這么寫測試代碼真有趣。
before(:each) do
@user = User.new
end
describe "method <absence_at(start_time,end_time)>" do
s = Time.now
e = s + 30.minutes
# example one
it "should be false when user have interaction or review" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(true)
@user.absence_at(s,e).should be_false
end
# example two
it "should be true when user has no interaction and he no waiting at platform" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(false)
@user.stub!(:login_absence_at?).with(s,e).and_return(true)
@user.absence_at(s,e).should be_true
end
# example three
it "should be false when user has no interaction and he waiting at platform" do
@user.stub!(:have_connection_or_review?).with(s,e).and_return(false)
@user.stub!(:login_absence_at?).with(s,e).and_return(false)
@user.absence_at(s,e).should be_false
end
end
上面的測試代碼,是典型把代碼的實現細節帶到了測試代碼中,完全是本末倒置的。當然這個測試代碼運行的時候,結果都是正確的。那是因為用stub來假定所有的子方法都是對的,但是如果這個子方法have_connection_or_review?發生變化,它不返回boolean值,那麼將會發生什麼呢?這個測試代碼依然正確,可怕吧!這都沒有起到測試代碼的作用。
另外,如果是這樣,我們不僅要修改have_connection_or_review?的測試代碼,而且還要修改absence_at的測試代碼。這不是在增大代碼維護量嗎?
相比而言,不用stub的測試代碼,不用修改,如果Factory的數據沒有發生變化,那麼測試代碼的結果將是錯誤的,因為have_connection_or_review?沒有通過測試,導致absence_at方法無法正常運行。
其實stub主要是mock一些本方法或者本應用中無法得到的對象,比如在tech_finish?方法中,調用了一個file_service來獲得Record對象的所有文件,在本方法測試代碼運行過程中,無法得到這個service,這時stub就起作用了:
class A < ActiveRecord::Base
has_many :records
def tech_finish?
self.records.each do |v_a|
return true if v_a.files.size == 5
end
return false
end
end
class Record < ActiveRecord::Base
belongs_to :a
has_files # here is a service in gem
end
所對應的測試代碼如下:
describe "tech_finish?" do
it "should return true when A』s records have five files" do
record = Factory(:record)
app = Factory(:a,:records=>[record])
record.stub!(:files).and_return([1,2,3,4,5])
app.tech_finish?.should == true
end
it "should return false when A』s records have less five files" do
record = Factory(:record)
app = Factory(:a,:records=>[record])
record.stub!(:files).and_return([1,2,3,5])
app.tech_finish?.should == false
end
end
Factory的使用
有了這個工廠,可以很方便的構造不同的模擬數據來運行測試代碼。還是上面的例子,如果要測試absence_at方法,涉及到多個model:
HistoryRecord:User的上課記錄
Calendar:User的課程表
Logging:User的日誌信息
如果不用factory-girl構造測試數據,我們將不得不在fixture構造這些測試數據。在fixture構造的數據無法指定是那個測試用例使用,但是如果用Factory的話,可以為這個方法專門指定一組測試數據。
Factory.define :user_absence_example,:class => User do |user|
user.login "test"
class << user
def default_history_records
[Factory.build(:history_record,:started_at=>Time.now),
Factory.build(:history_record,:started_at=>Time.now)]
end
def default_calendars
[Factory.build(:calendar),
Factory.build(:calendar)]
end
def default_loggings
[Factory.build(:logging,:started_at=>1.days.ago),
Factory.build(:logging,:started_at=>1.days.ago)]
end
end
user.history_records {default_history_records}
user.calendars {default_calendars}
user.loggings {default_loggings}
end
④ 學習測試開發,有沒有用能學到什麼東西嗎
軟體測試的門檻相對來說還是比較低的,比起Java、PHP等這些後端開發來說,軟體測試需要的代碼量少,同時軟體測試也是IT技術上手比較容易的,學習難度低。
軟體測試前景怎麼樣,回答是前景很好。軟體測試人才缺口大,國內測試人才缺口達到30萬之多,且仍在逐年遞增,薪資待遇好,一般剛培訓出來的軟體測試工程師起步薪資都在8千左右,優秀學員年薪達到二十萬的都有,發展方向廣,軟體測試基本各行各業都需要,尤其是IT互聯網行業、金融等很吃香的行業。
隨著軟體行業的日漸成熟,用戶體驗感、軟體安全性越來越受到社會的關注,各大企業對軟體測試的重視度都有了明顯的抬升。從招聘需求來看,軟體測試崗位的招聘量處於明顯上升態勢,從薪資水平來看,軟體測試人員的待遇也是一增再增。
據統計,目前軟體測試人才的缺口在30萬人以上,IT行業國內外巨頭正在加緊爭奪軟體測試人才,華為曾一次拋出50名軟體測試人員的招聘大單,聯想、用友、瑞星等企業也紛紛打出高薪招聘軟體測試人才的啟事。
軟體測試人才的需求量還會越來越大
學習什麼內容:
一、軟體測試的原理
v 軟體工程:軟體的含義、軟體開發過程的特性 、軟體生命周期模型、軟體管理過程軟體質量和質量保證:軟體質量就是客戶的滿意度 、質量的概念、軟體質量的內涵、質量管理體系、SQA、SCM、SEPG
v軟體測試概念:軟體危機、軟體測試產生的背景,軟體缺陷是什麼、軟體測試職業發展,軟體測試人員應具備的素質和技能、軟體測試基本概念、軟體測試的目的、軟體測試的重要性、軟體測試的原則、軟體開發與軟體測試
v軟體測試依據和規范:軟體質量標准、軟體測試規范、界面規范、編碼規范、CMM和ISO9001思想結構體系、CMM VS ISO
二、軟體測試的技術
v軟體測試技術概述:軟體測試的基該方法,黑盒測試、白盒測試、靜態測試、動態測試、測試策略
v軟體測試流程:軟體測試流程、通用測試文檔模板 、軟體測試的分類、軟體包的質量特性
v 單元測試和集成測試:什麼是單元測試、單元測試的目標和任務、單元測試方法、調試與評估、什麼是集成測試、集成測試目標和任務、集成測試的模式與方法
v 系統測試和驗收測試:什麼是系統測試,系統測試的目標和任務,系統測試方法,系統測試中工具的應用、什麼是驗收測試、驗收測試的目標、驗收測試的過程和主要內容、產品規格說明書的驗證
v 特定類型的軟體測試:面向對象軟體的測試、面向對象軟體的特點、面向對象測試的層次與數據流、面向對象的單元測試、面向對象的集成測試 、基於應用伺服器的測試、應用伺服器的分類和特徵、基於Web伺服器應用的測試、基於資料庫應用伺服器的測試、基於J2EE平台的測試、軟體本地化測試:什麼是軟體本地化、軟體本地化的翻譯問題、軟體本地化測試的技術問題、本地化測試的重點
三、軟體測試的實踐
v測試環境的部署:測試環境的重要性、測試環境的各要素、建立測試實驗室、測試環境的維護和管理
v軟體測試用例的設計:測試用例來源、測試需求提取、測試用例設計、白盒測試用例設計方法、邏輯覆蓋法/基本路徑測試法 、黑盒測試用例設計方法、等價類劃分法/邊界值分析法/因果圖法/錯誤推測法 /功能圖法、測試用例的組織和跟蹤、使用實際項目實踐
v 報告所發現的軟體缺陷:軟體缺陷的描述 、軟體缺陷相關的信息、軟體缺陷的處理和跟蹤
四、軟體測試管理
v 組織和管理測試團隊:基於ISO的測試管理體系構成、測試團隊的地位和責任、測試團隊的構成 、測試團隊的管理和發展
五、軟體測試人員面臨的機會和挑戰
v軟體測試職位在IT行業的現狀
v軟體測試職位到底是干什麼?
v軟體測試行業的背景
v軟體測試人員需要具備的基本素質
v軟體測試工程師需掌握的技術技能大綱
v軟體測試人員後期的發展機會和挑戰
⑤ 智慧樹互聯網金融單元測試答案
第四章的答案
⑥ 互聯網金融平台開發技術架構到底是怎樣的
有的平台採用外包或購買技術平台,沒有能力去進行系統的研發和升級,面臨著極高的風險。因為系統來自外部,代碼完全失控;企業自身也沒有安全評估能力,沒有專職人員制定安全方案,安全風險極高!
而且因為沒有開發能力,當市場發生劇烈變化時候,技術平台無法快速適應市場變化;哪怕對系統功能做簡單的修改,也要聯系外包團隊修改系統,需要跨公司溝通、討價還價,而且外包團隊常常也無法正確理解業務需求,效率低下,反應極慢!!
有些靠譜的優秀理財平台,很快意識到在IT技術實力是互聯網金融的核心競爭力之一。有意識的逐漸加強技術力量,建立專業互聯網技術團隊。這樣的技術團隊自主開發系統,代碼完全在本企業的控制之下;並有專業隊伍不斷跟蹤最新安全動態,制定完善的安全方案,安全風險可控制;同時也能夠對系統進行持續研發和精心規劃下的升級改造,從而更好的適應市場變化,服務平台內部和外部的用戶。
因此面臨行業機遇期的融資理財平台,應該建立起自己的技術團隊,打造專業化的互聯網技術能力。
現在是移動互聯網時代,普通用戶可以通過多種客戶端進行投資理財。有實力成規模的融資理財平台的技術開發,除了需要開發傳統的PC版投資網站,還需要開發移動平台,包括:IOS版與安卓版APP、微信端、手機版WAP網站等面向普通理財者的投資平台;為了提高風險控制能力,提高工作效率,應該要將風控能力系統化、程序化,不斷實現與各種數據對接,包括第三方徵信數據接入工作也要不斷推進。
為了更好的承載各項業務發展,在具體技術架構方面,服務端技術應該採用業界先進的開發框架,比如選定的開發框架應該採用選定的架構下,應該能夠很方便的擴展,使用、再開發或再發布擴展;要盡量採用了大量久經考驗,開箱即用的技術特性,從而大大提高技術開發效率;團隊應該始終對開發趨勢和其他框架和其他項目中最佳實踐保持密切關注,隨時准備引入先進的各種技術手段。
針對移動端技術架構,基於同一工程分層,界面處理及業務邏輯分開處理,實現高內聚,低耦合的設計目的;網路層採用成熟穩定的技術方案,通過數據壓縮、加密,提升網路連接的高效性及安全性;界面層採用自動適應策略,實現一套方案,多機型適配,節省開發成本,增強項目可維護性。
另外,作為一家互聯網金融企業,技術團隊要始終把安全放在第一位,竭盡全力保障投資人的資金安全與信息安全。參照國家信息系統安全等級保護的要求 ,制定綜合的安全治理措施,主要應該包括3個方面:
1. 基礎技術設施安全建設
採用企業級防火牆
HTTPS數據傳輸加密
分布式數據存儲與備份
抗DDOS服務
跟蹤最新漏洞,及時系統升級
2. 提高代碼的安全性
制定代碼規范和各種開發規范,確保開發人員能夠寫出安全的代碼
開發代碼掃描工具,掃描代碼
代碼審查,代碼交叉審核
單元測試與自動化測試
3. 建立監控與反饋系統
1. 及時發現潛在的問題,化被動為主動;
2. 為可能發現的問題,制定應急預案;
3. 監控重點敏感數據與功能,發現異常及時進行阻斷和報警;
最後,技術團隊要為整個技術平台,制定出長期的改善目標,比如應該包括:
1. 持續改善系統架構,更好地支持業務擴展
2. 降低系統耦合,提升對變化的響應速度
3. 建立更完整 的公共平台、基礎框架、基礎類庫,提高開發效率
4. 合理地增加或減少系統間交互,提升系統性能、穩定性
5. 完善配置、監控、預警、日誌系統,提升系統運維效率及發現問題的速度
互聯網金融趨勢剛興起不久,各種業務還在持續快速發展變化。技術架構的改進也沒有止境,高達軟體作為18年軟體服務商未來的路還很長,系統功能需要不斷豐富,各項工作還需要改進。只有始終深耕互聯網金融技術領域,不斷滿足用戶的期望,全力打造一個值得信賴的融資理財平台,才能與信賴我們的客戶一起實現更多更大的夢想!
⑦ 怎樣開始入門學習軟體測試
來源:知乎
風景
生命就是在不斷的學習
65 人贊同了該回答
如今測試行業是國內新興起的一個行業,但是,這個行業已經在國內存在有好多年了,只不過是現在越來越多的公司都想提高自身產品的質量,才有測試行業大幅興起的景象。我是從事了3年多的測試工作,也帶過很多新人,總結下來學習軟體測試要先看幾個方面你能達到多高的指標。
第一:你的基礎
1)電腦操作和主流軟體使用的基本能力;
2)對編程語言是否接觸過,是什麼程度;
3)軟體測試的理論知識;
4)學習能力;
5)解決問題的能力;
其實在工作當中遠不止這些,你還要有優秀的溝通和協調能力,有很多時候需要與其他部門的同事和領導確認各種信息,一遍又一遍的確認,這里有很多情況需要處理。
在此,我還想給幾點建議:
1、如果你的自學能力較弱,就找個培訓機構學習,我們公司比較喜歡用培訓機構出來的人。
2、如果你自學能力強就找些專業教材,結合網上的資料來學習,尤其是www.besttest.cn軟體測試自學與分享平台的資料很全,還有QQ群交流可以相互提升學習的動力。但是需要你有堅持的毅力。
3、測試分為幾個方向除功能測試外,還有性能測試、手機測試、安全測試、自動化測試等幾大方向,選擇一個離你最近的,但是基本都要先學會功能測試才能拓展其他的方向。
4、如果有開發功底或至少一門開發語言的功底如JAVA,C,VB,PHP都可以幫你在測試行業有更高的發展,獲得更好的收入。
發布於 2013-12-09
笑笑愛笑smile
銀行業務方向
27 人贊同了該回答
2015年股市很火爆,互聯網金融揭竿而起,軟體測試與開發也受到眾多想跨行業工作者的喜愛,眾所周知,軟體行業工資高於平均薪資水平。最近有朋友和網友向我咨詢軟體測試的事情,大意是:小白如何入門軟體測試行業,且聽我說。
我從事軟體測試行業整整5年,先說點我的測試經歷,讓大家對軟體測試有些認識,其次說說小白如何跨行從事軟體測試,最後推薦些軟體測試方面的書。
NO.1我的軟體測試經驗
作為一枚女漢子,大學學計算機科學與技術專業也是十分痛苦的,剛入學就學習C++,老師口中各種鳥語,聽不懂啊畢業找工作腫么辦,就這么糊里糊塗的學了3年的計算機語言c++、java、c#、oracle資料庫、linux操作系統,時刻擔心畢業=失業。
害怕大四找不到工作,我在大三暑假就開始准備實習,留意教務處發布的各公司實習崗位;剛好A公司來校宣傳找實習生,A公司主要做銀行系統,招測試與開發,聽說測試門檻低,邏輯思維有條理、能看懂代碼就可以。第二天直接去參觀公司並且報名考試(2011年各種城鎮銀行成立,公司大量缺人手,招聘了大量物美價廉的學生),下午公司打電話說我通過了,明天開始實習培訓。
由於態度積極主動(面試人員之後說的),實習了幾天就進入了項目組實習--銀行系統;從實習到轉正一路走來累啊,學校學習的只是很基礎的知識,工作中遠遠不夠。
城鎮銀行--麻雀雖小五臟俱全,學習了業務:存款、貸款、卡、大小額支付、票據、中間業務、網銀、信用卡等;工作中需要搞配置庫svn、缺陷管理工具qc、部署版本、操作資料庫、linux系統命令、重現生產bug等。
當時這個公司開發人員很忙,測試人員測試出bug,首先得自己對照需求,看日誌定位,然後找開發解決。非常感謝當時的師傅領我入門。
別人的大四在宿舍睡覺、看電視劇、打游戲,而我每天7點起床倒2趟公交車去實習,現在想想當時真的很拼,每天累的焦頭爛額,一臉痘,但是很值。
由於在這個公司學到很多技能,2013年通過了北京一家大行的面試(大行--人員外包),區別與項目外包,一會給大家解釋)。大行工作內容如下:
評審文檔:大行文檔超級多很細,比如:需求說明文檔、設計說明書、組建設計說明書、動不動就上千頁。剛開始評審各種文檔,其實就是找某些功能描述模糊不清或多種描述的,然後整理成excel和需求人員確認。
web界面測試:類似與銀行的網銀系統,點擊系統,如有報錯直接丟給開發,測試人員只需要描述錯誤即可。看不到資料庫、看不到後台、看不到報錯日誌,每天匯總案例執行個數和bug測試情況,天天整理一堆excel文檔,時間久了會感覺自己像機器人,沒有激情。
很多時候在大行恨不得一份工作5個人來干,每天很閑,姐姐還很年輕好不好,需要工作帶來的成就感,想看代碼、想了解單元測試、性能測試、linux、資料庫,身邊的同事各種跳槽(人員外包沒出息啊,隨時換工作地點、不讓玩手機、不讓干這不讓干那、跳槽加薪啊)憋屈,姐下決心辭職不幹了---ByeBye『A』公司。
2014年5月換到了B公司,項目外包--理財系統,公司有自己的產品(理財、基金、支付、P2P)項目經理很nice、主管也很nice;理財之前沒有一點基礎,從頭學起(和比我早到1月的實施美女共同學習,成長蠻快的),也和業務人員經常打交道,學到很多。
第一次用loadrunner做性能測試加班到凌晨2點,這是平身第一次啊,實體環境中調通了腳本並且跑起來了,明白了性能測試場景設計、TPS、通過事務數、最大並發用戶數等,了解了性能瓶頸如:查詢耗時、實時寫日誌、缺少索引、硬碟等;最近在配合各個渠道做測試,理財處於中間系統,接一堆外圍渠道,寶寶心裡苦。
我的測試經歷講完了,想必大家已經了解了從事軟體測試需要的一些基本技能。
NO.2軟體測試人員的工作地點
以我現在的公司為例,公司分為產品部、實施部、測試部等;
產品部人員一般在自己家公司工作,有時候會出差到現場去解決問題,自己家公司環境好、自由,公司有微波爐、下午茶、水果等。
實施部人員一般在客戶現場做實施(公司把理財產品賣給客戶,需要實施維護),現場工作的宗旨是:客戶虐我千百遍,我待客戶如初戀。客戶會不定期有個性需求,實施人員維護。環境一般般,在現場就會有銀行的人管著。
測試部:有的在公司做產品測試、有的在客戶現場做測試,比如我在客戶現場,科技部人都還不錯,相處蠻愉快的。
軟體測試工作性質分3種:
1、找個非外包公司,公司自己給自己做項目,比如鏈家app等,人員很和諧,在自己家公司做項目很幸福。
2、進入大點的公司,做項目外包,項目外包對測試人員較嚴格,功能測試、性能測試都得會,人員比例:10個開發1個測試。
3、剛培訓完人員外包,有些公司專賣人員,某些銀行給價2.5萬每人月,公司橫豎都是賺。缺點:人員管理鬆散,找不到組織。
NO.3軟體測試入門
如果你身處北上深,想跨行做軟體測試,前途還是很光明的,這些城市需求多,提升很快,尤其是越來越多的創業公司,找工作不難。
如果你身處某些二線城市,尤其是平均工資較低的情況,不建議轉行做軟體測試,大家轉行是為了掙錢,除非你學習後想去北上深發展或是特別愛好。
1、如果你的親人在做軟體測試,這是個特別好的資源,買本軟體測試的書籍,讓他教你;他個人電腦里會有他公司的資料需求、設計文檔、測試案例、被測系統、資料庫等,利用周末時間在家教,先看需求了解業務--找出測試點-寫案例,然後自己跑系統。之後教資料庫的增刪改查語句以及一些簡單的linux操作命令。
我同事利用周末時間已經把他弟弟、他女朋友都培訓成了軟體測試人員,現在工資相當不菲。
2、培訓班
眾所周知,培訓班費用很高,如果你學過c語言,了解軟體開發與測試流程,就自己買本書多看,網上關於軟體測試的資源很多,多看,多投簡歷,必定會找到份工作。
如果你是其他專業畢業,對計算機軟體一點都不了解,那就可以考慮報培訓班學習,至於報哪個班,大家上網自行搜索,最好去知乎找答案,滿滿的都是干貨。
3、工作態度:
跨行業進入軟體測試,隔行如隔山,想必大家都會珍惜這份來之不易的工作,首先端正態度入職新人都會有老員工帶著,一般公司都有配置庫,裡面有各種文檔,測試案例、測試bug文檔等;
多看測試文檔、你的師傅加班時你就在旁邊看著幫助他干點零碎活,很快熟絡之後工作中遇到問題也會積極幫助你,不懂就要問,多問多思考,最好和他要套測試環境,自己跑案例,遇到問題多記錄。微軟的OneNote很好用,記錄問題可以分各個頁簽。
NO.4測試流程
1、需求分析
需求分析是軟體工程中的一個關鍵過程,只有吃透需求,後續工作才能得以開展。每次有新需求要求參與討論,否則後期測試各種疑問(測試人員和開發人員思考問題角度不同),討論時記錄關鍵點,整理在OneNote里,以便日後查看。
2、寫測試案例
如:地鐵里的自動販賣機,提煉測試點,然後寫測試案例;
有效的等價類有:
金額正好,順利出貨
金額超出,找零出貨
金額不足,提示,並吐出貨幣
金額足夠,取消交易
假幣,吐出
無效等價類:
放入金額,不出貨,不找零
放入金額,不出貨,退錢
金額超出,出貨,不找零
金額超出,不出貨,找零
金額不足,出貨,找零
金額不足,出貨,不找零
金額不足,不出貨,不退錢
金額正好,不出貨,退錢
金額正好,出貨,找零
金額正好,不出貨,找零
不投金額,直接出貨
測試案例設計有很多種方法,大家可以看書學習。
3、執行測試案例
把2的測試點,完全形成文檔,在測試環境執行每條案例。
4、測試bug追蹤
測試過程中難免會出現bug,如果有bug先自己對照著需求自查,看日誌,確認無誤,找開發人員看代碼,記錄測出的bug,實時更新bug狀態;
5、寫測試報告
主要寫測試背景、測試目標、測試案例覆蓋率、測試周期、測試bug修復率等。
NO.5測試書籍
《軟體測試 原書第二版》老外寫的,佩螣譯,機械工業出版社 ,實習時培訓老師介紹的,眾多測試書中最好的一本入門書,此書淺顯易懂,很全面的講解 ,適合軟體測試入門的同學學習,我也會經常翻閱。
《軟體性能測試過程詳解與案例剖析(第2版)》段念,清華大學出版社,想學性能測試,然後網路搜索的答案,買了這本書,真的很不錯;銀行業務數據量大所以需要壓力,第一次做看的這本書,加班到凌晨2點,終於成功了,內容豐富,有大量的案例供大家參考,每次做性能測試,都會看,每次都有不同的收獲。
《Google軟體測試之道》老外寫的,人民郵電出版社,未來是軟體測試開發工程師(SET)的天下,抓緊時間學點開發知識。
《探索式軟體測試》老外寫的,清華大學出版社,如果你抱著未來手工測試人員會消失,不妨看看這本探索式測試。
題外:雖然軟體測試人員有時會被開發人員鄙視,但是沒有測試過的程序他敢上生產?bug一堆一堆的,做測試很好,未來測試會越來越被重視的!!!歡迎大家圍觀
⑧ 年薪40萬的java程序員技術有多強
你不如去招聘網站上搜一下,招聘年薪40萬Java高級工程師都需要哪些資格。
以下是來自智聯招聘,招聘,java高級工程師,月薪2萬-3.5萬
年薪40萬應該都是項目組長級別的。
負責雲端新項目設計、研發,技術選型、架構優化、問題攻關等
任職資格:
1、計算機軟體及相關專業,有互聯網、金融行業項目背景者優先;
2、有5年以上Java服務端開發經驗及系統分析、設計經驗;
3、能獨立完成項目經理分配的研發任務,有獨立主持過5人以上規模研發項目者優先;
4、熟悉Spring體系(Spring Mvc、Spring Boot、Spring Cloud)、MyBatis等開源框架,kafka、redis等中間件,有使用SpringCloud開發、在Github上有開源項目者優先;
5、熟練使用MySQL資料庫,有資料庫設計經驗,可針對業務特點優化資料庫性能,有NOSQL經驗者優先;
6、對Java的並發、IO、socket等有深入的理解以及實際開發經驗,了解高並發下的架構設計和高負載Web應用的關鍵技術,如容災備份、負載均衡、集群、橫向及縱向擴展;
7、熟悉設計模式、代碼重構、JVM性能優化者優先;
8、熟悉Maven、SVN或Git、jekins等持續集成工具;
9、有良好的代碼編寫、單元測試、注釋以及文檔的習慣;
10、思維敏捷,具有良好的邏輯分析及問題解決能力,較強責任心、工作積極性以及團隊協作能力。
⑨ 從負債累累到身家千萬,他如何一路走來
文中略有改動,原文歡迎查看蔡世友個人博客:http://blog.csdn.net/easyjf/article/month/2016/05
80年代初,我出生在貴州一個靠天吃飯的貧困山村。在我六歲以前,村裡還沒有通電,在沒有月亮的晚上,到處都是黑乎乎的一片,如果需要光只能點煤油燈,因為蠟燭在那時候都是奢侈品。那時基本沒有什麼娛樂節目,過了農忙季節村民沒事做一般都會早早回家睡覺,這也導致了超生現象嚴重,每家每戶基本都有5個以上的兒女。我們家本來有七個兄弟姐妹,可惜夭折了兩個。
而我是家裡的老大,這個身份也註定了我在這個家非同一般的使命。
童年
童年從5歲開始記事,那時候對錢基本沒什麼概念,對於我來說最大的滿足莫過於走上十幾里路,到鎮外的集市上,買一碗牛肉湯鍋粉吃。如果某天有賣冰棍的人來村裡,能拿出5分錢買一根冰棍,簡直是人生最大的享受。
在91年之前,我在村裡面讀了5年的小學。村裡的小學下午3點就放學,放學後主要是幫家裡干農活比如砍材、割草、放牛等,一直要做到晚上八點,學校裡面的老師也需要下田地去幹活,因為光靠教書的收入是養不活整個家庭的。
每年都會放兩次農忙假,春天一次,秋天一次,每次農忙放假都是都是半個月以上,可能現在的學生會非常的羨慕我們,可是那時候的我卻不喜歡放假,因為一放假就要去幫助父母干體力活,真的非常累。
到91年的時候,作為村委書記的伯伯要把我堂哥安排到縣城裡面讀初中。我爸知道這個消息後,第一時間去找這位伯伯讓他幫忙想辦法一定把我也捎上。後來在表伯的幫助下,我成功插班到縣裡面的一小讀五年級,成了村裡面少數能在縣城讀小學的孩子,當時農村小學的教學水平和條件是遠遠不及縣城小學的,從這一點來看,我爸當時是非常有膽識及遠見的。因為這一決定也為我以後的學習奠定了扎實的基礎,這位做官的表伯,毫無疑問對我往後的人生走向,提供了重要的幫助。
(蔡世友老家的房子)
到城裡面插班,第一個月的月考我就考了倒數第一名,我到現在還記得當時語文只考了56分,連及格都很困難,嚴重拖了整個班的後腿,班主任正好又是語文老師,她找我談話,表示如果下次再考這樣就直接退學回農村去。那時父母不斷灌輸的觀念就是,好好讀書,努力讀書,只有讀書才是唯一的出路,把書讀好了才能脫離農村,跳出農門,才能養家。一方面我作為家裡的老大,考慮到父母為了我到縣城讀書所付出的心血,另一方面怕真的滾回農村後肯定要被狠狠的打一頓,而我確實也不想長大後又回農村繼續幹活,
於是只有一條路可選,那就是把書讀好。
人一但對某件事認真專注以後,就會產生意想不到的效果。別人讀書的時候我讀書,別人玩的時候我看書,煮飯的時候在看書,走路的時候在看書,就連睡覺做夢的時候都在看書解題。第二個月單元測試,終於越過了及格線!這不禁讓我鬆了口氣。經過一年的努力,最後奇跡般的進入了學校前5名,而且順利考上了當時縣城最好的中學。這讓我從小就明白了,不管你基礎怎麼樣,只要肯定努力就一定會有回報!
縣城裡讀書除了學雜費比較高以外,非縣城戶口還有借讀費、課外書、單元練習冊等各種資料費,加起來是農村的10多倍,而且生活費也增加了很多。為了支付這些費用,家裡每年需要砍一兩棵大松樹或者春樹去賣,父親則會在農閑時去縣城擺地攤賣一些草葯。為了省錢,吃的糧食及蔬菜基本上都從家裡背進城,每個星期要回一次家!縣城到家裡面有幾十里路,車費大概是5毛錢的樣子,這對當時的我來說是不小的數目,所以為了省下這筆費用有時候我不得不步行上學。
求學
93年上初中後學費又大大增加,父母逐漸感受到要供一個孩子在城裡讀書的巨大壓力。好在靠全家人的省吃儉用,靠父母的努力,我也順利的初中畢業了,那時候家裡面還沒有什麼債務。初3時由於我的成績比較突出,老師們根據我的家庭情況,建議我考當時比較熱門中專,這樣可以省去讀高中的三年,早點出來工作,可以節省一大筆錢。雖然我自己非常渴望讀高中上大學,但是迫於自身的家庭實際情況,我選擇了中專,考上了四川郵電學校。
川郵是當時比較熱門的學校,每年的學費好像就要2000多元。記得剛拿到錄取通知書的那一刻,看到裡面的學費說明時,父母臉上的笑容才逗留幾秒就消失了。除了學費,還有跨省的車費,伙食費及其它各種費用,算下來一年要6000多元,這對於當時我們家來說是一個非常龐大的數字。
在農村,家庭能有積蓄的非常少,我又在城裡讀了5年書,家裡面肯定沒有這么多錢,只有去找親戚借了。印象最深的一次是父母去找姑姑家借錢,當時那一年剛好她們家的桃子豐收,賣了有2000來塊錢。父母希望他們能借1000來塊錢幫忙解決一下我的學費問題,姑姑非常地為難,說雖然桃子是賣了一些錢,但還有各種用途安排,沒辦法借這么多,最多隻能借300元。對於父親來說姑姑是他最親的親人,竟然也借不到,非常難過;對於姑姑來說也很委屈,因為這些錢實在是有其他的很重要的用途,父母還賭氣說算了,以後再也不相往來。。。。。當時父母和姑姑都哭了,這事兒,20多年過去,當時的場景我至今還記得,借錢真的是一件很傷人的事。
(求學期間家中的勞動力)
後來,父母又想盡各種辦法,把家裡面糧倉的存糧、養到半大的豬仔、還有好幾只大公雞以及一些還勉強值錢的樹等都給賣了,費了九牛二虎之牛,終於湊齊了5000來塊錢,總算夠了我第一年的學費及生活費。在我讀中專幾年的日子裡,全家人省吃儉用,除了最小的妹妹以外,另外兩個稍大的弟弟及妹妹也都成了家裡面的主要勞動力,父母發動大家干農活的理由也只有一個,供大哥讀書。當我畢業時,家裡能值錢的基本都賣了,包括對於農民家庭來說最關鍵的耕牛也含淚給賣了,還欠了親戚朋友以及信用社好幾千元。可以說全家人在這4年來可謂是使足了勁,把我供畢業,希望看到我分配工作,看到我拿工資,變成城裡人,吃公家飯,並憧憬著未來有一個家庭成員是城裡人會是什麼樣子,當然父母也期望我能做出榜樣,為家庭帶來改變。
畢業之初
2000年6月,19歲的我終於從川郵畢業了
畢業後我被分配到了市裡的郵局工作,一來因為家裡急需用錢,二來由於我對郵局工作實在不感興趣,所以剛到單位沒多久我就辭掉了這份大家看來是鐵飯碗的工作。回到成都,加入了一個互聯網創業團隊,從此開始了我的IT技術生涯。
我工作開始第一個月工資是1200元,當時遠比分到郵電部門的同班同學高。由於我比較努力,做事效率很高,除了能寫程序,還能搞一些策劃,深得老闆賞識,很快就升為經理,過了兩三個月工資就翻倍達到了2500元!每個月除掉個人的必要開支,房租吃飯等,餘下的錢我全部都寄給了家裡。我所加入的創業團隊做的是中國總經理網,跟老闆培哥創業的過程讓我學習、見識、領悟到了很多的東西,尤其是在做網站的過程中,搜集整理了國內外著名CEO的檔案、故事、經歷等等,受這些人物故事的影響,也開始夢想未來的某一天能成為一名CEO。
06年的時候我跳槽到了一家大型集團下的軟體公司做開發主管,因為對開源技術的強烈愛好,我在網上發起組建了EasyJF開源團隊,致力於Java領域的簡易框架開發,有幾十位來自全國各地的開源技術愛好者加入,我們做了一個開源項目叫EasyJWeb,致力於簡化基於Java平台的Web應用開發,這是一個基於互聯網遠程管理協作的團隊。到07年下半年,團隊開始獲得業內一些商業公司的認可,有了一些商業項目開發單子,一部分團隊成員從網上走到網下,一起去承接了一些遠程教育及電子商務網路平台項目外包開發。當時條件非常艱苦,整個團隊在北京住著簡陋的房子,沒日沒夜地干著。最後算下來把住房及生活成本除外後,每個人分到的錢相當於在公司上班領工資。
(05年春節帶上孩子齊聚老家)
不過那時候我的月收入也達到了每月4500元,不到半年的時間里,我就把我讀書期間家裡欠的錢全部還清了。不過那個時候,弟弟妹妹分別都到了城裡讀書,所以那個時候我除了買書吃飯等必要花費,其他的錢依然全部寄回家,幫助父母改善家庭生活面貌,供弟妹上學等。經過幾年的努力,家裡有了一點存款,於是決定在縣城買地建房,父親算了一下,修改房子大部分建築活都是自己或親朋來幫忙做,買地及修房子等合計要花6萬左右,家裡又找信用社周轉了一點,不到一年的時候,家裡面就在縣城裡有了自己的房子,基本上實現了在城市裡生活的夢想。房子修了兩層,在馬路邊,一樓作為鋪面租給別人,每年會有幾千塊的房租,全家人就擠著住在二層。
那時候,每一個月工資到手後第一時間就會給父母及弟妹寄錢,我手中很少有多餘的錢,有時候遇到換工作或者公司不能按時發不起工資時,自己手邊緊急偶爾會找同學朋友臨時周轉借錢給在城市裡面的弟妹付學費及生活費。印象最為深刻的是,在04年左右找一位郵校的師弟借了5000元,給大妹支付學費,後來手上有餘錢的時候都准備還,這位兄弟說不急不急,於是就把錢用作其它用途了。後面越拖越久,又離開了成都,一直又很少聯系,搞得我都不好意思主動提這個借款了。直到15年回成都創業,與這位兄弟見了一面,才把這個欠的錢給還上,我堅持給他按年化10%算利息,還了15000多元,才略減愧意。
創業之路
08年後,我家裡除了小妹外的其它弟妹都已經大專或中專畢業進入社會工作,我終於可以不用再把全部收入用於養家,終於可以給自己留下一些錢,同時也不再受每月必須有固定收入的束縛,可以去做一些自己想做的事情了,於是在08年5月,27歲的我開始了人生的第一次完全由我主導的真正的創業!
2008年5月8號,我在成都組建我的第一個創業公司,成都藍源信息技術,專門從事軟體開發、SaaS服務、項目外包、企業技術內訓等業務。有7位EasyJF開源團隊成員,成為了我第一次創業的夥伴。初創團隊加上我8個人,來自7個不同省份,典型的一個網上走到網下,網友組成的團隊。這個團隊的特點是,清一色的技術,有的還算得是業內頂尖的,有安全專家、有架構專家、有專業運維、有前端、有後台。我們當時認為我們的技術很好,所以比別的團隊干起事來就高效,質量好,還價格便宜,我們堅信技術能改變世界!
可是現實是殘酷的,我們缺市場、缺銷售、缺品牌、缺服務、除了技術不缺,其它什麼都缺。要麼是接不到業務一些人整天沒事做,要麼就是低價接項目最後做賠本買賣,還有接了業務完成項目又收不到款。一個團隊光有興趣或者夢想不行,必須解決吃飯問題。前面介紹的安全專家是大西北人,一頓要吃好多米飯或饅頭。除去房租以後基本上連飯都吃不飽。每周加一兩次餐小炒什麼的只好刷信用卡,後來搞得整天被信用卡客服追債。
面對地震都沒有撤的創業夥伴們,卻因為吃飯的問題逼著撤離,在一兩年的時間里,陸陸續續離開了4位,最初核心團隊走了一半。其中1位去了北京一家大型外包公司做項目經理,1位去了平安後面到普元,1位去了阿里,還有1個為了賺錢去深圳在ebay開店向全世界的網友賣內容豐富的光碟。
2010年5月,留下來的4位,加上前兩年間新加入的夥伴,團隊仍然有10來人。團隊加入了服務,實施,營銷等非技術人員組合,腳踏實地,不談夢想,以只求活下來為原則,繼續摸索。從08年5月到11年5月這三年的時間里,跟很多的初次創業者一樣,我們不斷的進行著各種試錯,團隊不斷地磨合,為了生存及夢想,大家經常爭吵,爭得面紅耳赤。我個人每個月拿到手的只有2000多塊錢的生活費,為了解決公司員工發工資的問題,經常還要到處找朋友借錢周轉,從這期間偶爾還伸手從家裡拿了一些錢,委託父親從農村信用社貸款,找同學從民間借貸領域借款等等,三年下來,背了十多萬的債。
2011年,我們砍掉了藍源的很多業務,只保留兩三個我們覺得可以賺錢的業務項目,作好相關安排後,我把公司日常管理交給另外的創業夥伴,隻身一人前往廣州,正式全身心開始專注於IT教育培訓行業的創業。
(IT培訓創業期間,高校講述程序員生涯故事)
至於2011年被我扔在成都的創業團隊,在經過了極度困難時期仍然能保留下來的創業夥伴,就好比經歷長征留下來部隊,經驗及戰鬥力其實是非常強的,這樣的團隊一但有一個合適的機會,就能獲得成長及爆發。在2011年保留下來的幾項業務中,後面都得到了一定的發展,並為公司創造了不錯的價值,其中最好的是IT教育培訓。公司從成立開始就一直在做高端IT技術培訓業務,主要企業培訓這一塊,在2009年開始進入針對個人的IT就業技能培訓領域,雖然前兩年做得不好,但大家對其發展前景給予了充分的肯定。於是在2011年成立專門的公司,把大多數資源及優秀人才都投入到了教育培訓這一塊,研發課程,改進服務,全身心教會學員專業知識,提高他們實實在在的本領。經過大家不斷的努力,隨著一批一批的學員進入市場並獲得企業的認可,隨著就業薪資的不斷攀升,口碑的力量慢慢的發揮出來,這個團隊在IT教育培訓市場取得一年比一年好的成績,招生人數一年比一年多,如今已成為了西南地區高端IT教育培訓領域比較有競爭力影響力的機構。
成家立業
一起創業的這一波人,隨著企業的成長,大家都已實現買房買車的夢想,大多數都已成家生小孩,如今基本也都實現或者即將實現財務自由。
至於我,2009年弟弟結婚,2010年我結婚,2011年大妹結婚,2015年二妹結婚,2015年小妹大學畢業留在北京工作,20年前在納建村上那忙玩泥巴割豬草的小屁孩們,如今都跳出了農門,進入城市打拚。每隔一兩年春節,湊巧的話大家能聚到一起回家過年,這時對我們來說最激動人心的事就是,選一天全家一起回一趟農村老家去,看看那裡的泥土與山水,看看仍然在農村生活的長輩們。
經過十幾年的努力,錢早已不是困擾我生活的主要原因,也讓我明白學習真的是改變自己人生最好的投資。在一個偶然的機會,讓我突然明白一個道理:這個世界窮人與富人最大的區別,就是窮人永遠都只知道掙錢,而富人不僅懂得掙錢,而且還會賺錢。掙錢與賺錢,看起來一字之差,意思相近,但仔細思考一下,差別很大。「掙」字的左邊是提手傍,也就是要靠自己的雙手,右邊是「爭」,表示要努力爭取,簡單來說,就是靠自己的雙手去努力爭取,然後換來錢;而「賺」字的左邊是「貝」,古代「貝」是貨幣,也就是錢的意思,右邊「兼」表示同時涉及、順帶、不會花費主要精力,比如兼職等,簡單來說「賺」的意思就是讓錢能產生錢。回顧2000年工作開始到現在這16年裡,除了拚命努力工作,對如何投資賺錢,也是深有體會。
(蔡世友一家)
所以2015年回到成都,我不僅創立了一家互聯網金融公司鴻學金信,更是參加了非常系統的金融知識培訓,而且也會一直堅持下去。結合自己的經歷以及奮斗歷程,我從來沒有認為一個努力為夢想拼搏的人需要為錢而擔憂。 未來我重點的研究事業之一,就是通過投資每年賺到50萬以上 ,這樣即使提前退休不掙錢,也能讓家人擁有一個相對充裕的物質生活。生命是一場旅行,我期待未來能有更多的時間陪家人,與家人一起感受生命中更多的精彩。
從一窮二白,到帶領全家人走向小康,從負債累累到身價千萬,我一步步走過來用了16年,我希望能用自己的切身體會和知識體系,來幫助更多的青年人少走彎路,所以在16年我開設了青年理財訓練營,你想來和我一起賺取每年50萬的利息嗎?
點擊進入青年理財訓練營
-
贏在青年
專注青年財商發展及理財知識普及的教育咨詢平台
開展形式
專家演講
線上課程
財經資訊
線下沙龍及分享會
-
⑩ 軟體測試需要會什麼難學嗎
第一步,測試基礎:
測試基礎是軟體測試最最最重要的部分,只要你是做測試,不管是什麼測試,測試的基礎、理論知識都是必須學會的。大概就包括:測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等。
第二步:學習腳本語言
如:python語言,當然python 是一門相對簡單的計算機語言,考慮長遠發展,需要了解C語言或者java。都說C語言最難,但是用得確實也多。
第三步:學習軟體測試工具
學習軟體測試工具並不難,只是需要我們去系統的學習。比如性能測試工具loadrunner,自動化測試工具selenium、Appium,介面測試Jmeter、Postman等。雖然說工具不是萬能的但是工具能為我們提高工作效率,所以必須得會熟練的使用。最關鍵的一點,是要結合項目具體去操作,實踐出真知,理論知識在實際項目中才能得到鞏固。
第四步:計算機硬體知識
做過性能測試的都知道在性能測試過程中硬體性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬體測試的。那麼就更不用說了。交換機、路由器、防火牆這些設備都需要有所了解。
第五步:資料庫測試
MySQL資料庫
MySQL簡介、命令行工具以及數據管理、MySQL數據查詢(條件、分組、聚合函數、排序、分頁、連接查詢、自關聯、子查詢)、內置函數、項目練習、數據分表、Python操作MySQL。
Redis資料庫
Redis簡介、客戶端和伺服器、數據類型(string、hash、list、set、zset)、各種數據類型操作、Python操作Redis、主從、集群。
第六步:項目實戰
最好參與真實項目的測試工作,積累真實項目的測試經驗。
成為優秀軟體測試員之提升條件,如果你想成為一個更優秀的軟體測試員的話,除了上面那些,你也最好能夠具備開發語言即代碼編寫能力,雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那麼代碼編寫能力就是必選項、如果不會寫代碼、那麼你不可能成為高級測試。高級測試工程 師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那麼精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你 現在所在的項目從C++語言、2年後你換工作了、新公司的開發語言是Java或者是VB什麼的)所以在開發語言中測試需要更廣的學習。
成為軟體測試員之必備條件,就是你一定要有良好的心態。心要靜、細心耐心、責任心。心靜不下來無法對bug展開發向思維及拓展想像。任何一個測試最先面對的心理壓力就是重復性的勞動。在你的測試生涯中,一定會碰見很多心理的考驗,自己對於質量心裡沒有底、或者由於產品發布問題或者達到了測試瓶頸時候的困惑等。每個人都有自己的背景以及性格,往往對於測試來講,就是考驗心理素質的時候,這個時候就需要你自己不斷地去克服這些心理