主頁 > 後端開發 > 軟體測驗工程師的自我認識和定位!!

軟體測驗工程師的自我認識和定位!!

2020-09-12 01:51:46 後端開發

前言

在談論軟體測驗之前,我作為一個有一定作業經驗的工程師,我想發表一些自己的想法和觀點,這些觀點雖然不是完全正確的,但是確實是我在作業中不斷的去沉淀,去理解,去思考才得來的一些看法,希望作為剛入行的你,或者已經在從事這份崗位但是很迷茫找不到定位的你,在看到我的這篇文章之后可以對這份作業有另一種態度,希望你在選擇了這份崗位之后可以熱愛這份作業,愿意去付出,愿意相信自己是公司里不可缺少的一位,每一個崗位存在即有理,在大勢之下我們沒有理由去否定去這份崗位,但是我們一定要深入理解這份崗位,只有帶有這種思想的從業者才能在這條道路中越走越好,

測驗這份作業確實入門相對來說是比較低的,看起來誰都能做,但是不一定誰都能做好,并且在一些小公司里面,測驗往往還會被其他人認為是沒有技術含量的作業,但是我想說在大廠里面,測驗是跟開發同等級的存在,無論是工資還是聲望,相對的大廠里面需要的要求就會高很多,對于作業不久的同學來說,你會發現其實自己在測驗的時候并沒有用到很高深的技術啊,為什么在面試的時候會問到很多東西,并且招聘要求這么高,這是一個很現實的現象,公司招人肯定是想招一個能力超出成本的員工,這樣既可以完成當前的作業量,還可以在特殊情況下完成新加的任務,而面試時那些額外多問的技能就是用于后者,
相信很多同學會有這樣一個心理想法,那就是:測驗一下子就測驗完了,我現在好閑啊,這樣會不會不太好?測驗也太沒有意思了吧,我學了幾年的計算機竟然做這么沒有技術含量的作業,那我不是白學了?我覺得我已經測完了,這個軟體沒有什么可以測驗的了,我現在在等開發修改bug,那我現在應該做些什么呢?…看完這些,希望你能從中獲得一些想要的答案

何為軟體測驗工程師?

軟體測驗工程師(Software Testing Engineer)指理解產品的功能要求,并對其進行測驗,檢查軟體有沒有缺陷(Bug),測驗軟體是否具有穩定性(Robustness)、安全性、易操作性等性能,寫出相應的測驗規范和測驗用例的專門作業人員

軟體測驗工程師的職責?

軟體測驗就是使用人工或自動手段,來運行或測驗某個系統的程序,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別,開發作業的根本是盡量實作軟體用戶的需求,測驗作業的根本是檢驗軟體系統是否滿足軟體用戶的需求,
軟體測驗工程師簡單的說是軟體開發程序中的質量檢測者和保障者,負責軟體質量的把關作業,

為什么要做軟體測驗?

1.發現軟體缺陷
2.發現功能錯誤
3.檢查是否功能遺漏
4.超出需求部分(畫蛇添足)
5.性能不符合要求
6.軟體質量高低:是否符合用戶習慣、符合用戶需求

軟體測驗的前途如何?

說到軟體測驗的前途,我覺得應該說是軟體測驗人員的職業規劃,請注意我說的是人員,因為這個崗位的前途肯定是有的,就算要隕落也不是在你這一代測驗工程師中隕落,因為這是一個新鮮的崗位,是個年輕的崗位,未來需求很大,是一個很重要的崗位,作業沒有好壞,能決定未來的只有自己,

軟體測驗的工具和思維誰更加重要?

相對于測驗工具,我更加傾向于測驗思維,當然這兩者是相輔相成的,雙向提升會讓你在測驗的作業中得到很大的提升,測驗的思維貫穿整個測驗的職業生涯,從一個0基礎的測驗工程師進階到一個中級測驗,前一兩年的成長基本上都是在測驗思維上的提升,這段時間很多人都會很迷茫,覺得自己是一個沒有什么技術的人,其實這個成長的期間更多是要尋找自己的定位,落實自己作為一個專業測驗工程師的思維方式,當自己具備了一定的測驗思維之后,我們面臨的一個挑戰就是在測驗技術上的關卡,在招聘上面我們往往可以看到基本上的測驗工程師都是需要測驗工具的使用,而且會使用測驗工具比不會使用測驗工具的人工資要高,顯而易見,在具備了測驗思維之后,要進一步的提升自己就要在技術上的加強了,不管是測驗工具的使用,還是自動化腳本的撰寫,這些都可以視為輔助我們去測驗一個軟體產品的工具,為達目的想盡一切辦法去發現軟體中的缺陷,

軟體測驗工程師和軟體開發工程師真的就相差這么大嗎?

簡單的一句話概括:測驗和開發就像是互補關系,開發注重的技術的深度,而測驗注重的是知識面的廣度,開發懂測驗,但是在測驗方面上沒有測驗工程師那么專業,因為不具有測驗的思維方式;中高級測驗工程師很多是具有開發能力的,但是他在開發技術上沒有專職開發理解的那么深刻,所以開發的閃光點是技術的深度,測驗的閃光點是知識面的廣度和測驗思維,

成為測驗工程師的必備條件?
  1. 首先第一點,作為一個測驗工程師,計算機相關專業的知識在作業中起至關重要的作用,這是作為一個測驗工程師必備的,其中就包括(計算機網路,作業系統,資料庫系統,開發語言以及開發工具等),我們一定要具備這方面的知識,但是作業中不一定都會用上,不同方面的測驗需要的技能也就不同,比如功能測驗也就是點點點的操作,基本上沒有誰不會使用一個軟體吧,就是這個道理,
  2. 第二點就是測驗思維,也是我認為一個人是否能做好這個崗位的標桿,上面一點我說了,計算機相關的知識我們在作業中可能用不到,但是測驗思維一定要時刻應用,因為思維決定行為,有一個完整的系統的準確的測驗思維,才能把作業做到細致做到越接近完美,這里我只用了接近完美這個詞,因為測驗作業是無窮的,不存在沒有bug的程式,
  3. 第三點就是需要具備測驗技巧,有更多的測驗方法,熟悉測驗工具,當然就相當于是后續的作業經驗積累出來的產物了,需要我們在作業中不斷的去整理,去學習,去應用,測驗這份作業是探索性的作業,在作業中,真正去執行測驗用例執行測驗作業的時間是占的比較少的,更多的時間都花在探索上和整理檔案上,
  4. 第四點就是作業中的一個學習和溝通能力了,找bug是測驗的作業,改bug是開發的作業,所以這之間就少不了溝通和交流,在溝通程序中,測驗和開發直接需要有一個共通的表達方式去描述這個bug,使得測驗人員能清楚的描述bug,并且開發人員也可以準確的知道bug的現象,方便在快速定位問題并且解決問題,既然測驗是一個探索性的作業,所以就需要更多的知識和技巧做鋪墊,我們在作業中需要帶著強烈的求知心去作業,去吸收去學習一切能在作業中幫到自己的知識點,對自己的提升也會起到至關重要的作用,
測驗的分類有哪些?

說到測驗分類,在網上搜一下就出現了很多,有功能測驗,性能測驗,自動化測驗,資料庫測驗,介面測驗,安全測驗,還有細致一點的就是app測驗,web測驗,游戲測驗等等等等,我們暫且就分為功能,性能,自動化這三類,
功能測驗簡單來說就是測驗產品能做什么功能,性能測驗就是測驗產品的功能做的怎么樣,自動化就是利用腳本來代替人工去完成一個功能操作的測驗(自動化測驗一般在測驗階段的后期,當產品達到了一定的穩定性之后,利用自動化腳本進行快速的回歸)

提高測驗質量的要訣?

另外一個值得注意的方面就是作業效率和質量,或許高級測驗工程師與普通測驗工程師的主要區別在于高級測驗工程師可以更快地發現更多軟體中的嚴重錯誤,對此,有什么可以借鑒的訣竅嗎?請嘗試以下方法,保證不會使您失望,

  1. 首先測驗程式的核心功能,然后測驗輔助功能,
  2. 首先測驗功能,然后測驗性能,
  3. 首先測驗常見情況,然后測驗例外情況,
  4. 首先測驗經過變更的部分,然后測驗沒有變更的部分,
  5. 首先測驗影響大的問題,然后測驗影響小的問題,
  6. 首先測驗必須測驗的部分,然后測驗可選或沒有要求測驗的部分,
測驗流程是什么?

測驗既然是一個必不可少的崗位,自然就有一套完整的測驗流程來支持,那么軟體測驗的流程是什么呢?什么時候測驗工程師才進入測驗作業呢?在測驗前需要一些什么準備呢?每個流程階段我們應該做一些什么?

軟體測驗工程師的整個作業流程:專案立項–>需求分析–>測驗分析–>測驗計劃–>撰寫測驗用例–>執行用例–>bug管理–>測驗報告 ,這一整套流程下來,也許看起來你會覺得自己根本就沒有參與幾個,但是如果你是研發組唯一的測驗,又或者你是測驗組的大佬,那么這一整套流程下來你必不可少,

專案立項和需求分析:這兩個基本是同一時間進行,就是產品經理或者是市場經理有一個可以賺錢的好點子,想跟大家討論一下,這就是一個專案的萌芽階段(專案立項);然后確定了專案之后,大家一起分析一下功能,需要滿足什么樣的需求,這個產品的架構是怎樣的等等,說到這里你是不是發現好像這些事就是開發和產品那邊的事兒,跟我們測驗不搭邊呢,其實不是,作為測驗,在參加這次會議中,目的就是要知道接下來有一個什么專案需要我來測驗,專案的定位是什么,客戶群體是哪些,用戶環境在什么場景等等一些資訊都對我們進行測驗有很大的幫助,往往一個專業的測驗人員是要完整的介入整個產品的研發和測驗階段,

  1. 測驗分析:在這個階段,就開始考驗到了一個專業的測驗工程師的一個業務能力了,這個階段如果分析的好,就能提高用例的覆寫率,盡可能的保障了軟體的測驗質量,測驗分析和測驗用例設計是有一定的區別,
  2. 測驗計劃:計劃的撰寫有助于作業的進行,寫好一份測驗計劃,可以讓我們在作業中按照一定的流程去完成作業,并且在測驗計劃中,有比較詳細的人員分工,時間安排,環境搭建要求,測驗的目的,專案的介紹,這些基本的資訊都會出現在測驗計劃當中,當然這個環節不是每個測驗人員都要去做的,一般出現在組長或者組長以上的人才去完善這份作業,或者組織內有一定的測驗架構和專案分支,測驗人員和專案版本比較多,專案復雜多樣化,那么測驗計劃就起到了至關重要的一步,
  3. 撰寫測驗用例和執行用例:那么在撰寫用例的環節,我們從測驗分析為出發點,利用等價類,邊界值,場景法,因果關系等一些用例設計方法來設計測驗用例,并且在用例中表明需要用到哪些測驗資料,在完成了測驗用例的撰寫之后,接下來就是用例的執行了,按照測驗用例的一些步驟和預期結果,來執行我們的用例,判斷是否通過,未通過的用例就可定義為一個bug,測驗用例看起來就是玩文字游戲,其實它的作用體現在的是一個記錄作用,因為如果沒有測驗用例這個檔案,那么我們在測驗的時候難免會出現漏測現象,這樣就造成的作業的不合格,再則就是用例還可以用來當做一個憑證來證明自己的作業,如果在作業中發生爭執了,可以及時的拿出用例來為自己作證,
  4. bug管理:有了測驗的用例,那么就會出現測驗的產物,就是bug,作為一個專業的工程師,我們所需要做的無非就是想盡一切的辦法去否定開發寫的程式,所以我們在找到問題的時候,需要給出的是一個高質量的bug,什么是高質量bug呢?所謂的高質量的bug,就是必須有一個準確的復現步驟,有一個直觀的bug現象,必要的時候可以加上log,加上截圖,加上測驗資料,甚至有時候出現了特別難以出現但是嚴重級別高的bug,直接就保留現場,叫上開發過來了解情況,有了這些東西,開發同志就無力反駁我們拋出的bug了,為什么我們提出bug要這么準確呢,原因就是我們是專業的工程師,產品上線之后,如果市場上沒有重大的bug反饋,那么這是我們盡到了責任,但是如果市場有重大的反饋,導致對公司造成了損失,那么就是我們的失職,我們不僅要提交bug,還要跟蹤bug,使bug從產生到關閉有一個較快的倍訓,將那些嚴重的,優先級高的bug及時的催開發修改,一個優秀的團隊就是要做到每一個員工盡責,
  5. 測驗報告:測驗報告書寫的目的就是將自己的測驗結果通過這份報告讓別人可以了解到目前產品的一個狀況,所以在測驗報告上,我們盡可能描述重點,寫一些有價值的東西,因為別人是通過你的這份報告來間接性的了解產品的狀態,所以如果你寫的太復雜,像流水賬一樣,給人的感覺并不是細致,而是啰嗦,所以在寫完報告之后,我們應該站在一個閱讀者的角度去審閱自己的測驗報告,看看是否明確是否完美,

最后希望大家可以熱愛軟體測驗作業,這個崗位需要更多熱愛它的人才可以一起做好,加油同學們!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/9211.html

標籤:python

上一篇:零基礎學前端好找作業嗎?

下一篇:QT4的程式轉QT5后出現UI界面不能自動重繪的情況

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more