• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    有哪些軟件相關的公司,開發流程比較規范? 沈陽2年經驗的軟件測試人員,工資能開到多

    之前我在微軟上海的sqlserver工作的時候就感受到了他們十分嚴謹的氣氛,一般來說,我們做一個軟件之前都會planning和investigation,大概占用1/3的時間,研究得差不多了,然后才...

    有哪些軟件相關的公司,開發流程比較規范?

    我們精選了一下網友答案:

    ···································^^····································


    之前我在微軟上海的sqlserver工作的時候就感受到了他們十分嚴謹的氣氛,一般來說,我們做一個軟件之前都會planning和investigation,大概占用1/3的時間,研究得差不多了,然后才開始干正事。然后就會開始用agile里面scrum的那套方法,而且在【每次】代碼checkin之前,都要有兩個人review通過了才行,review沒過就按照comment改,如果強行checkin的話系統會群發郵件。


    至于daily build要到開發了差不多一半的時候,功能基本都寫完了才會開始,這個是給test用的,不是給dev用的。


    至于test,會跟dev一樣,從項目的planning階段就開始參與我們的設計,并且他們會思考如何對我們即將要完成的東西做自動化測試。測試時全程參與的,而不像某些著名公司一樣,快寫完的時候才開始。


    到了項目的后期,feature基本做完了,幾乎都在修bug的時候,會進入一個feature freezing的階段。這個時候PM如果要提新的需求,就會queue進一個叫做design changing request的表里,每個星期全組都要開會討論,到底是現在做呢,還是下個release才做。


    我們的項目組有上千個人,所以把所有代碼merge在一起也是一件很艱難的事情。因此每個feature team都要定期從main branch上面下載代碼來做本地merge,提前發現問題。當輪到我們最終把自己的feature提交到main branch的時候,大概會有兩個星期的時間,這個時間我們可以自由操作main branch,別人不能動(只能下載)。但要求是要把整個sqlserver的所有自動化測試用例都通過才行。否則的話,過了這個時間窗,沒做完就干掉,排隊等下次。如果最終checkin了進去,但是別人發現你break test了,就會把你的代碼reverse掉,你仍然要排隊等下次。


    我們的delivery是按照【你寫的代碼進了main branch】來算的,如果千辛萬苦怎么寫都過不了test進不了branch,那根白做了沒有任何區別。


    你要是想體驗一下的話可以過來試試(逃

    +++你是想了解管理流程,還是技術流程呢?

    如果是技術流程的話,Qt Project還不錯。qt-project.org/

    缺陷跟蹤器(bug tracker)在 bugreports.qt-project.org/
    代碼評審網站(gerrit)在 codereview.qt-project.org/
    CI結果在 testresults.qt-project.org/ci/
    項目所有代碼在 github.com/qtproject/
    相關信息:qt-project.org/contribute

    Qt Project的CI現在覆蓋Windows, Linux, OS X, Android, iOS等,全部自動集成,規模應該是夠大了,我不知道還有其它項目能做成這個樣子。CI代碼也是開放的,基于Jenkins。+++我們這10來個人,我們這開發流程用了好幾年了。
    這段時間在重新用Python搭建公司里面的這套,我們的開發是用Git,周邊寫一些腳本來自動化。

    1 nightly build和測試,包括regression(debug/release), coverage testing, valgrind testing。如果發現問題腳本發郵件給相關人員。

    2 merge server,這是我以前沒見過的,我們做了一個小的服務端,開發人員每次merge代碼都是通過腳本提交一個branch,這個merge server做的工作就是做代碼merge,編譯,跑regression, 如果沒問題就代碼改動就進入master。否則就報告出來,這個merge被block。避免很多手工活。

    3 CI, ci跑的是一個更大的測試集,可以監測到每次merge 引起的cpu/memory 的變化,如果有問題需要review。

    4 Rails寫的內部網站展示所有上面的測試和merge的情況。+++看見@vczh 講了微軟的開發流程,我也講講我們這邊吧。我在上海ibm的編譯器組,我們團隊包括了加拿大的主體部分,美國的C++ Runtime部分,北京的一小部分z/OS,上海的AIX/Linux C/C++編譯器前端,C/C++/Fortran編譯器后端部分。由于我們團隊跨國跨地區,所以我們需要一個非常嚴謹的開發流程來保證。我們本身采取的是Agile開發模式,具體來說就是Scrum那一套。由于我們是編譯器項目,類似@vczh的sqlserver,我們也會有Plan與Investigation,當然這些是VP級別的大佬來操作的,而這些事情都是比較宏偉的,以C++為例,我們會有C++11的支持計劃,我們會首先實現C++11的哪些特性呢,接下來會實現哪些呢,這些特性與編譯器實現難度有關系,更重要的是與我們的Clients需求有關系(由于我們編譯器的Clients基本上都是大企業用戶,那么我們不可能不理)。那么VP制定好計劃后,從具體事情來說,我們會有Task,一個Task又會有若干個Story。從時間來說我們就會有若干個sprint,那么在后面提交代碼這是非常必要的,你需要指定你的代碼針對的是哪一個Plan與Sprint。而由于編譯器是一個高度復雜的項目,在提交代碼前,一定會首先跑核心用例測試,而這個核心用例測試是一個Failure都不能出現。如果出現了Failure,對不起,請修改代碼。隨后,如果你的代碼難度很大的,改動了編譯器核心的代碼(比如我上次修改了我們C++的Parser產生式),那么這時候在提交代碼的時候,你需要勾選上你的Team Leader,再勾選上兩個加拿大本部的資深Developer,等他們都Review通過后,你的代碼才會被系統Check In進去,否則你的代碼無法Check In進代碼倉庫。如果這些都完畢后,隨后我們會有Regression測試,如果你的Regression測試都過了后,你才算系統通過,否則你需要解決Regression。隨后過了一周,我們會開Code Review大會,你需要講解你這樣改代碼的理由。然后會檢測你的代碼風格是否符合IBM Compiler的代碼開發標準,以及你的代碼是否還有潛在的風險(如我以前解的一個Defect什么都過了,但是在Code Review發現會有z/OS以后潛在的風險,即使現在沒有出現,也需要修改代碼來避免)。而我們會有BPI人員定期進行Merge Code,建立Branch,拉代碼入PTF Line,Freeze Code等,以及發布前會有Release Manager等來進行全程控制等,而Tester來說也會全程參與整個開發周期,跑測試用例,報給相應的developer,自動化測試等。而我所說的只是我們團隊開發流程的冰山一角,總的來說,如@vczh所說,如果你想體驗正規開發流程,可以去他們那里的團隊,而我們IBM這邊也是相當正規規范的。 :-)+++

    這個得介紹下我帶的團隊:

    我并不太喜歡規范這個詞, 開發流程應該符合那個組織、那個公司的規范呢? 我選擇更好更高效更合適的開發流程。

    用圖來簡介下我指導的馬拉馬拉技術團隊:

    基于WIKI的信息積累、分享:


    • 發表于 2020-11-22 21:02
    • 閱讀 ( 517 )
    • 分類:軟件測評

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    推薦文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆