<pre id="ff7yo"></pre>

      <form id="ff7yo"><legend id="ff7yo"></legend></form>
        <nav id="ff7yo"><listing id="ff7yo"></listing></nav><nav id="ff7yo"></nav>

        <nav id="ff7yo"><listing id="ff7yo"></listing></nav>
        <small id="ff7yo"></small><nav id="ff7yo"><dd id="ff7yo"></dd></nav>
      1. <nav id="ff7yo"></nav>
          <form id="ff7yo"></form><nav id="ff7yo"></nav>
          <nav id="ff7yo"></nav>
          <sub id="ff7yo"></sub>
          更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          軟件測試—對編程人員分析有助于發現問題

          • 發布:軟件測試培訓
          • 來源:黑白貓先生
          • 時間:2019-07-05 17:20

          軟件測試是為發現錯誤而執行程序的過程。這其中的錯誤,即程序中的bug,可以理解為人的錯誤。

          現代的軟件已經發展的比較成熟了,編程語言也是多種多樣。從最早的BASIC,匯編語言,C,C++,C#,java,python,asp,php等等,都是比較經典的編程語言。每一種編程語言,都是編程思想的精髓。有其適用的場景和經典的算法。

          不管何種編程語言,雖然語言本身有優缺點,但是在其既定的語法規則下,是不存在錯誤的。而代碼中的錯誤,是代碼編寫者引入的。我們知道每種語言都會存在著各種各樣的坑,如各種運算符操作 ,各種數據類型,例如左移操作,與操作,或操作等等,稍不注意便會在使用上帶來問題。但是這些問題之所以產生,是因為使用者的使用不當引起的。可以這樣說:

          編程語言及其規則就在那,不管你用與不用。不用,即不會出現錯誤 ,用,就有出現錯誤的可能。

          總之,對程序編寫者進行分析,有助于我們發現軟件中的問題。這似乎即是bug的源頭。

          在一個軟件系統中,測試人員輸入了一個邊界值,而程序卻提示輸入的是非法值。究其原因,原來是代碼中在判斷輸入的范圍時,將判斷邊界值的>=寫成了>,導致邊界值不在被識別,而程序認為這是非法值,就按照流程進行了處理。到了這一層,我們似乎已經很清楚,該問題的原因是代碼中判斷條件里的>=寫成了>,導致程序處理出錯。

          這樣似乎是可以了,但是總感覺還不夠。尤其是對那種比較最求完美的人來說,腦子里似乎總是存在著一堆的問題沒有被解答:

          “這個書寫代碼的程序員,他為什么把“>=”碼成“>”,他當時的思路是什么?”

          “是否是他正在寫這行代碼的時候,他別人突然過來找他討論問題,他被分了心,敲了一個“>”而忘記了這里是一個“>=”? ”.

          “亦或者他根本不知道這個邊界值是個應該被支持的合法的輸入”;

          “亦或是他忘記了(曾經記得或知道)”。

          總之,我們需要與這個代碼bug的引入者進行交流,才能獲知其引入該bug的過程。(這里并不是針對人,只是這樣更有助于我們去分析代碼中錯誤存在的場景以及進行軟件測試的方向,以更好的發現軟件中的問題,保證軟件產品的質量)。

          但是軟件中的問題多種多樣,我們不至于對每個問題進行刨根問底,搞清楚程序員為何引入這個bug,即使軟件測試人員愿意這樣做,程序員估計是無法忍受的,軟件測試人員會被當成“找茬者”而不被歡迎。

          其實,軟件發展這么多年,我們大可不必從這些小問題入手,不妨從大的規律上進行系統的分析。

          我們從開始學習編程語言,到一個程序員的崗位進行工作。對于編程的知識和能力是一個積累的過程,這對于任何一項工作任何一個人都是如此。我們可以把編程當作一項技能。這項技能可以拆解為兩個方面:

          1,編程能力:程序員對于程序設計語言本身的掌握。

          2,產品知識:程序員對于要實現的軟件產品的理解和掌握程度。

          編程能力體現了程序員對于編程語言本身的掌握能力。這個就跟程序員本身有關系了,或者說跟人相關。有的人學習能力較強,短時間內就掌握編程語言的思想以及各種算法,有的人能熟練運用各種編程語言,有的人只會運用其中的某一種。有的人寫出的代碼比較的規范,細致,嚴謹,有的人 則不太注重編碼細節以及編碼的規范,寫出的代碼總是存在著低級的問題,如果在代碼review階段自己或者別人能檢視出這些重大的bug,無疑是慶幸的,否則就需要軟件測試人員攔截這些低級且重大的bug,如果軟件測試人員由于各種各樣的原因遺漏了,那這個重大缺陷就會給最終的使用者帶來很大的麻煩,給企業或者公司也會帶來更大的損害。

          所以,看似簡單的編程能力這個因素,其實也是蘊藏著很多問題的。我們可以嘗試概括一下:

          1)編程人員對代碼規范的掌握

          2)編程人員的習慣,如粗心,不嚴謹

          3)編程人員對編程算法的掌握

          對于第二點,產品知識的掌握,也是同樣的道理,如果程序員只對編程語言比較了解,而不知道自己做的軟件產品的實現方案原理,設計流程,那么也會出現問題,但這類問題不是因為編碼能力不夠,而是因為對產品的知識不了解,這就涉及到程序員對于行業的認知和理解了。已經多次提到過 ,現在的軟件已經深入到各行各業中,加油站/銀行系統/通信系統/電子產品等等,都是需要軟件做支撐。所以,處在不同行業中的程序員,也要對這些行業有詳細深入的了解,才能保證自己實現的代碼的正確性。

          在一個大型的商業軟件中,一個程序員實現的需求或者功能往往是有限的,只是這個龐大的軟件系統中的一部分,或者是其中的一個功能,甚至只是臨時借調過來,補充其中的一段代碼,然而,如果對整個系統的架構和方案不熟悉,往往會埋進去很多bug。雖然寫出的代碼從其本身看是沒有問題的,但是放到整個系統中,可能被不同的函數分支調用,難免會出現不相匹配的情況,總是會出現各種各樣的問題了。

          綜上,一個程序員,必須要對編程語言本身以及軟件產品的系統設計有深入的了解,才能保證其實現代碼的正確性。

          那么,問題就迎刃而解了。

          軟件測試人員在進行測試策略制定時,就可以多了一個方向。

          例如,例如某個加油站軟件系統需要新增一個功能需求,而開發此需求的小王同學,是一個編程大牛,但是他有個短板,由于他剛進入油站行業,并沒有油站行業的相關知識,從大學畢業后一直從事的也只是互聯網行業,剛轉入油站行業的他雖然上手很快,但是對該需求的實現背景以及實現的方案原理,還有很多油站的基本概念,都不是很熟悉,只是他寫的代碼很規范,對編程也是駕輕就熟。在這種情況下,在測試策略制定中,要重點關注的是該需求功能實現的正確性,尤其是時間較緊張的測試活動中,在覆蓋基本的用例之外,更多應該考慮的是該需求的實現以及該需求與其他功能的關聯性。

          軟件測試中,對開發人員本身的了解,有助于我們梳理測試策略的重點方向,以挖掘關鍵價值的問題,避免產品的關鍵缺陷遺漏至使用者或客戶。

          除了以上兩點外,其實還有這許許多多方面的影響。因為只要涉及到人的問題 ,總是充滿了不確定性。可能某個程序員最近幾天因為家庭的瑣事心情不好,整天無精打采的,以至于做任何事情都毫無興趣;也有可能某個程序員剛剛跟相處了2年的女朋友分手了,整天魂不守舍,腦子里面盡是感情的事情,以至于本來時一個非常嚴謹細致的人,碼寫代碼時卻成了粗枝大葉,各種編程規范類問題層出不窮。

          這種種的不確定性,給本來就已經充滿了不確定性的軟件測試工作,增加了又一層的不確定。但是我們應該樂觀一些,這項由不確定的不確定疊加起來的工作,一定是充滿了創造性。

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:如何才能有效的發現軟件可靠性問題呢?
          下一篇:軟件測試能干到多少歲?

          參加軟件測試培訓靠譜不?

          軟件測試培訓都學寫什么?

          軟件測試工程師需要我們掌握什么技術?

          學習軟件測試的優勢是什么

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          神马影院-战旗影院-首播影院-新视觉影院-在线观看中文字幕dvd播放 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>