search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

我是軟體測試程序員,不是那個修電腦的

應該很多程序員都遇到過,總會有人找自己來修電腦,在加班加點的工作之餘,還得兼職做電腦維修。

從事軟體行業,和大眾息息相關,但大眾又不太了解,通常看到的新聞無非是黑客之類的,遠程控制別人,或者盜取銀行的錢。因為大家的不了解,所以會覺得很多事情程序員都可以做,從盜QQ,P圖,硬碟文件恢復,裝系統,安裝各種盜版軟體,甚至各種手機越獄Root。

最重要的是修電腦往往不涉及實物,給人的感覺是只是打打字,動動滑鼠,又不花錢,是舉手之勞,理應幫忙。如果說不會修,可能會遭來一句:「你學電腦的連電腦都不會修?」。我去,你還會開車呢,你會修車么?

對此小編只能說,也不能全怪大眾,畢竟人家不了解程序員到底是幹什麼的,所以小編整理了關於軟體與軟體測試的說明,去和別人介紹自己的工作和技能,讓找你修電腦的人都消失吧。

一、程序是怎麼回事?

計算機就是個機器,這個機器主要由CPU、內存、硬碟和輸入輸出設備組成。計算機上使用著操作系統,如Windows或Linux,操作系統上運行著各種應用程序,如Word, QQ等。

操作系統將時間分成很多細小的時間片,一個時間片給一個程序用,另一個時間片給另一個程序用,並頻繁地在程序間切換。不過,在應用程序看來,整個機器資源好像都歸他使,操作系統給他提供了這種假象。

應用程序看上去能做很多事情,能讀寫文檔,能播放音樂,能聊天,能玩遊戲,能看電影 ......

但本質上,計算機只會執行預先寫好的指令而已,這些指令也只是操作數據或者設備。所謂程序,基本上就是告訴計算機要操作的數據和執行的指令序列, 即對什麼數據做什麼操作。

比如說:

打開文檔,就是將數據從磁碟載入到內存,然後輸出到顯示器上。聊天,就是從鍵盤接收聊天數據,放到內存,然後傳給網卡,通過網路傳給另一個人的網卡,再從網卡傳到內存,顯示在顯示器上。

基本上所有數據都需要放到內存進行處理,程序很大一部分工作就是操作在內存中的數據。

二、軟體測試是怎麼回事?

軟體測試(Software Testing)的定義

1. 鑒定軟體的正確性、完整性、安全性和質量的過程。

2. 是一種實際輸出與預期輸出間的審核或者比較過程。

3. 使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是展現預期與實際結果的差別。

一句話定義:在規定的條件下對程序進行操作,以發現錯誤,是對軟體質量進行評估的一個過程。

三、可以從哪些角度對產品進行測試?

黑盒測試:把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試。測試方法包括:等價類劃分、邊界值分析、因果圖分析、錯誤推測法、功能圖分析等。

白盒測試:是對軟體的過程性細節做細緻的檢查。是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。測試方法包括:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋等。

單元測試:是對軟體中的基本組成單位進行的測試,如一個模塊、一個過程等等。它是軟體動態測試的最基本的部分,也是最重要的部分之一,其目的是檢驗軟體基本組成單位的正確性。一個軟體單元的正確性是相對於該單元的規約(詳細設計)而言的。因此,單元測試以被測試單位的規約為基準。測試方法包括:控制流測試、數據流測試、排錯測試、分域測試等。

集成測試:是在軟體系統集成過程中所進行的測試,其主要目的是檢查軟體單位之間的介面是否正確。它根據集成測試計劃,一邊將模塊或其他軟體單位組合成越來越大的系統,一邊運行該系統,以分析所組成的系統是否正確,各組成部分是否合拍。集成測試的策略主要有自頂向下和自底向上兩種。

系統測試:是對已經集成好的軟體系統進行徹底的測試,以驗證軟體系統的正確性和性能等滿足其規約所指定的要求,檢查軟體的行為和輸出是否正確並非一項簡單的任務,它被稱為測試的「先知者問題」。因此,系統測試應該按照測試計劃進行,其輸入、輸出和其他動態運行行為應該與軟體規約進行對比。軟體系統測試方法很多,主要有功能測試、性能測試、隨機測試等。

回歸測試:是指修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤,回歸測試的困難在於不好確定哪些內容應當被重新測試。

驗收測試:由客戶或最終用戶執行,旨在向軟體的購買者展示該軟體系統滿足其用戶的需求。它的測試數據通常是系統測試的測試數據的子集。所不同的是,驗收測試常常有軟體系統的購買者代表在現場,甚至是在軟體安裝使用的現場。這是軟體在投入使用之前的最後測試。

Alpha測試:由用戶在開發者的場所進行,並且在開發者對用戶的「指導」下進行測試。開發者負責記錄發現在錯誤和使用中遇到的問題。總之,Alpha測試是在受控的環境中進行的。

Beta測試:由軟體的最終用戶們在一個或多個客房場所進行。與Alpha測試不同,開發者通常在Beta測試的現場,因Beta測試是軟體在開發者不能控制的環境中的「真實」應用。用戶Beta測試過程中遇到的一切問題(真實在或想像的),並且定期把這些問題報告給開發者。接收到在Beta測試期間報告的問題之後,開發者對軟體產品進行必要的修改,並準備向全體客戶發布最終的軟體產品。

介紹完這些內容后,如果還有人找你修電腦,那你就趕緊給他修唄,別耽誤時間啦~



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦