色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一名軟件測試工程師的加班經歷

工程師人生 ? 來源:工程師吳畏 ? 2019-06-27 16:58 ? 次閱讀

背景:

我們的軟件產品需要在A、B、C三種硬件平臺(理論上對我們的軟件影響是不大的)上工作,早些時候已經成功在A上工作了,但在B、C上還有些問題,加班的那天是一個deadline,需要保證在B、C上也能夠工作。這個產品由X、Y、Z三個部分組成,分別由三個team負責,基本的關系是:X和用戶打交道,X調用Y,Y是數據進數據出,Y調用Z,Z和硬件打交道。

其中,X和Y都是新寫的程序,而且早些時候,在X上發現了較多BUG,Y基本上沒發現問題。Z的代碼在以前的產品中就有,相對已經比較穩定。由于項目的時間壓力,這三個部分沒有時間做分別的測試,只是程序員簡單測一下自己的代碼后,就要集成和測試了(這就是我的具體工作)。除了三個team的leader留下外,X的程序員都留下了;Y的leader檢查了team members的工作后,認為沒什么問題就放他們回家了;Z的leader最“無辜”,目送所有手下下班后,自己不得不留下。

都是指針惹的禍:

一開始要加班是因為X的工作還沒有完成,于是大家就一邊等,一邊“催”(X的leader聲稱要到12點才能完成,真是烏鴉嘴),一邊各忙各的(我在上網看新聞)。事實上,X到7點多就完成了,但一測試發現有明顯的內存訪問問題。于是X就調試,由于X在內存訪問問題上已經“臭名昭著”了,所以大家(至少我)相信是以前類似的問題,或者是以前的修改沒有徹底。

但很快,X發現問題是:Y傳了一個空指針給X;很快,Y也證實了X的說法。大家責問Y,為什么程序員自己測試時沒有發現?其實很簡單,程序員的單元測試程序會檢查是否是空指針,如果空就打印空行。于是,X和Y開始“踢球”,互相要對方加上空指針的錯誤處理代碼;但踢了一會后,新的疑問出現了,Y照理不應該出現空指針,所以要么Y的代碼有問題,要么Y要證明自己沒錯。

找一個BUG好難:

于是Y的leader也加入了調試隊伍,因為Y的代碼都有詳細的Log,所以很快就定位到了他的一個team member的代碼里。不幸的是,Y learder的開發機器在關鍵時刻down掉了。好在我們初步實施了軟件配置管理,Y leader很快在別人的機器上重新搭建好了調試環境。

Y作了些修改(事實上,他改的這些代碼都是無關緊要的),經我測試后,發現還是不行。以我的職業感覺,我覺得X也有問題(后來知道是歪打正著)。但X寧可上sina看“北京某景區有人裸泳”也不肯檢查一下自己的代碼。Y經過艱苦的調試(其實絕大部分時間我想是在理解這些不屬于他的代碼),發現是因為某個數據沒有取得而導致了空指針的出現,但照理,Z應該總是把這項數據傳送給Y的。但Y對Z的“指控”很快被證明是無效的,因為Z leader向大家“展示”了她從硬件取得的數據是好好的。

于是,Z leader繼續吃餅干;Y leader繼續調試;X一干人等繼續“研究”我國風景區的管理問題。而我也終于無聊到了極點,開始“友情贊助”,檢查Y的問題代碼。代碼很少注釋,寫得也很隨意,甚至縮進的格式都顯林亂;但好在代碼不長,邏輯也不復雜。我重點檢查了內存的操作,但沒有發現問題。

正在我納悶同樣一段代碼,為什么其他數據都可以取得,偏偏這項數據取不到的時候,傳來了Y learder的叫聲。雖然聽起來很像絕望后的慘叫,但我敢肯定,這的確是找到真正問題后的歡呼(和慘叫相似也是情理之中,畢竟都是在身心及其疲憊后發出的)。果然,他發現了:這項取不到的數據的名稱寫錯了,應該是Status,但寫成了State。(Y向Z要數據時,要傳給Z一個數據的名稱,然后Z就從硬件取得,并返回給Y。這些數據的名稱是Z定義的)那么,怎么會發生這種低級錯誤的呢?原來,出錯的代碼Y的那個程序員從另外一處Copy來的,其他數據項的名稱都是相同的,偏偏這項數據的名稱不同。

有多少Code可以重來:

Y leader忙著改C文件和H文件,因為這個數據項的名稱出現在多處,所以Y leader改得很仔細,也很辛苦;我想他心里一定在臭罵他的這個team member,為什么不定義一個常量或者宏。在Y leader改代碼的時候,我也在想,這簡直就像Z在故意制造陷阱:這兩組數據這么類似,而且其他數據項的名稱都相同,為什么偏偏這項數據,一個叫State,另一個叫Status,真是有空,真TMD。

Y leader終于確認改正了所有該改的State。但用他的team member的單元測試程序一測發現還是有老問題。你可以想象到我們當時的感覺,就像吃了一噸廣告上那個很夸張的“涼”得透頂的潤喉糖。

但是! Y leader大叫:單元測試程序里的State也要改成Status。在無數雙眼睛的注視下,Y leader顫抖著replace all,save,F5。終于,當大家看到計算機上的一串字符后,每個人都舒心的笑了。(當然,如果沒有剛才的虛驚一場,可能不是每個人都在快工作到午夜的時候還能笑得動的)。我想,此時此刻,此情此景,在Y leader的眼里,一定滾動著些東西,除了眼屎。

現在,又輪到我上場了。Build時發現X的代碼中也需要把一些State改成Status。(如果當初他們也檢查一下就好了)。X的程序員也沒有定義常量或者宏的習慣,所以我Build了多次,他們才把所有要改的State改掉。

一個QA的精彩:

后來發生的事可以用一個“峰回路轉”來形容,在無數雙眼睛的注視下(我的手沒有顫抖,因為人已經麻木了,或者說一切都習慣了),我啟動了我們的軟件,連接到B平臺上,檢查所有的數據,全部OK;連接到C平臺上,檢查所有的數據,全部OK。搞定了!

“回家,回家,回家的感覺是多么多么……”,我想,當時,也許每個人的心里都在回蕩著王杰的這首老歌(如果知道這首歌的話),包括陪我們加班到深夜的可憐的老板。

當其他人已打算轉身時,我的思想在激勵的斗爭著。看著同事們的臉,包括老板滄桑的臉和幾張幼稚卻不顯年輕的程序員的臉,想著家里一天沒能見到老爸的孩子,我想回家,但是,我是QA。我默默的連上了A平臺,然后發現什么數據都沒有。(如果把這個場景定格或者淡出,我怎么想都覺得象好萊塢預示續集的結尾)。

當我喊住大家時,我不知道該如何描述自己的感受。

無聲,無聲,又見無聲!突然,老板告訴大家:今天的deadline搞定B和C平臺就可以了,A平臺下個禮拜再說。管他是真是假,老板發話就可以了,還不開溜。3分鐘后(其中半分鐘是給CVS打上Tag),我坐上了回家的Taxi。

凌晨一點的上海還是霓虹閃爍,好美。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測試工程師
    +關注

    關注

    6

    文章

    124

    瀏覽量

    12457
收藏 人收藏

    評論

    相關推薦

    嵌入式工程師常用的開發工具有哪些?

    項目管理和調試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優化能力和調試工具,能夠幫助工程師快速開發出高質量的嵌入式軟件。 二、編譯器 編譯器將高級語言
    發表于 12-20 15:29

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰的領域里,如何提升自己顯得非常重要,它決定了你未來的發展方向和成就。接下來,我們起探討
    發表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設計

    據悉,近日,澳大利亞知名媒體TweakTown發現,索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責設計PlayStation的免費手機游戲平臺。
    的頭像 發表于 05-23 17:08 ?740次閱讀

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式軟件工程師軟件開發領域中的種專
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    嵌入軟件單元測試工具的作用

    嵌入軟件單元測試工具是現代軟件開發過程中不可或缺的環。它的作用在于幫助開發人員對軟件中的各個單元進行
    的頭像 發表于 04-23 15:31 ?447次閱讀
    嵌入<b class='flag-5'>軟件</b>單元<b class='flag-5'>測試工</b>具的作用

    款適合嵌入式工程師使用的在線工具

    款適合嵌入式工程師使用的在線工具,工具有如下功能,如下圖所示: 1. 報文校驗功能,如下圖所示 2. UDP服務端測試工具:該UDP服務端工具可以理解為 “UDP服務端” 或者 “服務器
    發表于 04-09 22:20

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統是當今科技領域的核心,而C語言則是嵌入式系統開發中最常用的編程語言之。成為一名嵌入式C語言高手需要長時間的學習和實踐。下面將介紹些方法和
    發表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統是當今科技領域的核心,而C語言則是嵌入式系統開發中最常用的編程語言之。成為一名嵌入式C語言高手需要長時間的學習和實踐。下面將介紹些方法和
    發表于 03-25 14:12

    單片機如何通過代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機是怎樣通過代碼來操控硬件的。作為一名單片機工程師,我們平時的工作就像是給單片機編寫“指令集”,讓它按照我們的意圖去驅動各種硬件設備。
    的頭像 發表于 03-06 14:46 ?1548次閱讀
    單片機如何通過代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    優秀電源工程師需要哪些必備技能?

    隨著電源市場的不斷擴張,開關電源行業飛速發展,企業對電源工程師的需求日益增加,對電源工程師的技能要求也日漸提高,相信沒有位電源工程師會錯過讓自己變得更優秀的機會。作為
    發表于 01-29 11:29

    為什么要做自動化測試測試工程師存在的必然性

    軟件測試這個過程的實施主體就是測試工程師。那么多少個測試工程師比較合適呢,或者換句話說如上的事情必須要測試工程師完成嗎?
    的頭像 發表于 01-16 11:32 ?955次閱讀
    主站蜘蛛池模板: 怡春院院日本一区二区久久| 啊好大好厉害好爽真骚| 午夜视频无码国产在线观看| 手机在线免费看毛片| 忘忧草在线社区WWW日本直播 | 成人国产精品免费网站| 嘟嘟嘟在线视频免费观看高清中文| 国产精品99| 火影忍者高清无码黄漫| 毛片免费在线视频| 日韩精品久久久久久久电影| 午夜伦理电影在线观免费| 亚洲一区在线观看视频| 99久免费精品视频在线观看2| 高h肉文np| 精品亚洲一区二区在线播放| 农民下乡在线观看3| 手机在线观看mv网址| 亚洲一区高清| jiz中国zz| 国内精品久久久久久久试看| 曼谷av女郎| 射死你天天日| 伊人影院2019| www.伊人| 护士们的母狗| 欧美97色伦综合网| 亚洲 欧美 国产 综合五月天| 最新影音先锋av资源台| 高中生被C到爽哭视频免费| 久草在在线免视频在线观看| 青草国产在线视频免费| 亚洲乱码日产精品BD在线下载| 99精品亚洲| 国产偷抇久久精品A片蜜臀A| 免费看黄软件| 亚洲国产在线2020最新| wwwxxc| 极品少妇高潮啪啪AV无码吴梦梦 | 国产精品久久久久久久久久影院 | 嘟嘟嘟WWW在线观看视频高清 |