❶ 軟體測試工程師如何做好需求分析
軟體測試工程師如何做好需求分析
什麼是需求?
需求是產品必須完成的事以及必須具備的品質。
功能性需求
功能性需求是產品必須完成的那些事,要求一定的功能和品質。
例子:培訓機構的班主任可以給所在班級學員打考勤
非功能性需求
非功能性需求是產品必須具備的屬性或品質。諸如觀感、可用性、安全性和法律限制等。
例子: 平台用戶數為5萬人,每天登錄用戶數為10000左右,網路的帶寬為100M帶寬。在工作時間根據資料名稱條件進行搜索,可以在3秒內得到搜索結果。
這類需求通常在產品的功能確定之後(但並非總是如此)。也就是說,一旦知道了產品要做的事情,就可以確定它的行為方式,它需要具備什麼品質以及它的響應速度、可用性、可讀性和安全性。
限制條件
限制條件是全局性的需求。它們可以是對項目本身的限制,或是對產品最終設計的限制。
例子:南京平台必須在2010年開學的第一學期上線
客戶是在說,如果顧客不能在給定的時間前使用該產品,那麼它就沒有什麼用了。其效果是,需求分析師必須對需求進行限制,只包括那些在最後期限前能夠提供最大價值的需求。
需求分析的重要性
需求分析沒有做好的後果一般會有下列現象:
1、浪費時間和資源來滿足用戶並不需要的需求(過度實現一些功能);
2、開發出來的產品技術上先進,但不滿足用戶需求;
3、總是需要比較長的時間來達成對產品設計的.共識;
4、在產品設計,開發和測試工作中對於用戶需求的解釋不一致;
5、員工會厭倦因需求不斷被重新解釋而導致的返工;
6、未說明的或不正確的需求會導致員工與用戶間的不滿;
7、不穩定的產品,用戶的不滿意對我們未來的市場造成損失;
8、浪費時間,增加成本,使得在一些投標的項目中不能低價;
1、如果你在編碼的時候發現某幾行有誤,那麼改掉這幾行就行了。而如果在編碼階段發現需求有誤,那麼你很可能需要改變所有代碼來適應新的需求
2、在需求階段消除問題的代價最小,而如果需求問題等到產品發布出去後才發現的話,那修復的成本就會N倍的增加。
3、穩定的需求是軟體開發的關鍵。有了穩定的需求,軟體開發工作可能從結構設計到詳細設計到代碼到測試都會平穩順利的進行。
為什麼要做需求分析
1、“決策性”--要不要做這個產品,通過對市場需求的分析來決策項目是否需要立項;
2、“方向性”--良好的需求分析可以對項目人員明確方向,讓項目成員知道下面應該如何實施;
3、“策略性”--既然知道了為什麼要做需求分析,就需要了解什麼是需求分析,及如何做。需求分析並不是簡單的對與錯,比如說做一個產品,“做技術最先進的軟體,還是做最好賣的軟體”,這個需求有錯嗎,沒有,只能說需要從不同的地方去考慮,去定位。
如何進行需求分析
“ 需求分析”不代表“用戶要求什麼就是什麼”也不代表“我們能做什麼就做什麼”,做為需求人員,在進行需求分析的時候,首先應該明白用戶的需求,然後再加上 自己的分析處理過程,知道哪些我們現在能做,哪些我們做不了,哪些我們咬咬牙齒能做,需求人員在做需求分析的時候不能一味的成為客戶的傳話筒,要有自己的 分析。
一般可以從三個方面去考慮:
1、功能需求--產品應該完成哪些功能,即向用戶提供的功能,一般來說這個都是比較硬性的標准;
2、非功能性需求--用戶可能不能明確告訴你的一些需求,比如說性能達到什麼要求,可靠性方面,響應時間,擴展性,性能方面等,這塊的內容並不 是說用戶需要,而是說不知道需要做成什麼樣的,我們不能不做,做了只會對自己受益。要不然等到後期用戶使用感覺這慢,那不爽,那倒霉的還是是自己;
3、限制條件--在需求分析中需要考慮一些條件約束,規則等,比如客戶的約束,行業的約束,法律的約束以及自己的約束等,這些都需要在需求分析考慮清楚,要不然做出一款白人狂毆黑人的游戲給黑人玩,那就慘了……
測試需求分析的步驟
1 、 熟悉需求背景及商業目標:
a) 了解清楚項目發起的原因,是為了解決用戶的什麼問題。
b) 當前的解決方案是不是最優的,為什麼會這樣做?
2 、業務模型法:
a) 考慮本項目與外部系統的交互,劃分系統邊界(除了本項目的需求中要求做的事情,其他的都可以是外部系統,本系統和外部系統之間的交互就是系統的邊界),可以參考系統分析說明書。
b) 確定測試范圍和關注點。系統的邊界是測試的重點,特別需要關注邊界交互時的數據交互。 ;
❷ 怎樣做好軟體測試
首先我們需要了解軟體的測試要求,同時學會如何更好的學習。更為詳細:
1.需要技術知識和深奧的分析能力創建極其復雜的測試。每個軟體都有不同的特性。我們需要依靠專業的技術知識和深奧的分析能力去解決復雜的軟體運算問題。並做好測試。
簡而言之。做好軟體測試並不是那麼容易,需要有專業的技術,也需要足夠強的分析能力,還要有強學習能力去解決問題。同時還要懂得如何打破常規。才能更好的做好軟體測試。
❸ 做好軟體測試的技巧
一是做好測試准備。實際工作當中,往往是任務驅動的工作模式,測試人員接受一個測試任務就意味著測試工作啟動了。作為一個成熟的測試人員,接受任務後首先要做的是測試任務開始前的准備工作,那麼一般的測試任務前期准備工作都有哪些?首先,你必須盡快熟悉所接受的測試任務的相關背景。實際的測試工作中,往往是結合現實的場景進行測試,不同的場景可能會有不同的預期目標。因此,了解任務或者項目背景是比較重要的。其次,盡可能的獲取與測試任務相關的信息資料,包括文檔說明、環境信息、相關的開發以及可以獲取支持的其他人員信息。測試不是一個孤立的工作,整個測試過程中需要與很多周邊的人員產生交流,這就是為什麼要求測試人員具備相當的溝通能力。
二是強化測試執行。測試執行,單單從字面來看,其實並不復雜,按照測試用例的步驟完成用例的執行就ok了。但是這里考驗你的耐心、細心。執行一個用例並不難,難的是,一天、一周、一月,周而復始的執行測試用例。測試原本就是一個周而復始、重復性的工作,很多人初次接觸測試工作,帶著好奇,會感覺有趣。但是,工作一個月、兩個月後就會被重復的測試執行所擊倒,會覺得厭煩,感覺自己成了重復工作的機器,沒有新意、沒有成就感,這是大部分進入測試行業新人的心理反應。
三是用好測試工具。隨著自動化測試的流行,越來越多的人重視測試工具的使用,往往不考慮實際情況或者自身條件,盲目追求使用測試工具。難道測試工具真有那麼大的威力嗎?不可否認,測試工具能很大程度上提高測試效率,尤其是對於重復性的一些測試用例及部分回歸測試。但是測試人員不能依賴測試工具。工具僅僅是工具,並不具備人的思維、視野、判斷力。不管行業如何發展,測試工具永遠不可能取代人的作用,而且我們必須看到,目前國內軟體行業中,手工測試至少佔據測試工作的90%以上。目前,我們一直使用日事清來完成軟體測試工作,通過計劃來規劃工作中的一切事務,創建任務、分配成員、安排日期,每條任務會自動分解到每個成員的日程中,員工只需要按照日程中的任務行動,不再被無序的工作煩擾。每日、每周、每月的工作成果可以一鍵生成報告方便相關人員跟蹤回顧。
❹ 軟體測試中實現web自動化中CSS選擇器定位常用策略有哪些
定位的語法:element = driver.find_element_by_css_selector(css_selector)
1. id選擇器 :#id
2. class選擇器: .class
3. 元素選擇器:輸入元素element
4. 屬性選擇器 element[attribute=value]
5. 層級選擇器:element1>element2
如果想了解更多可以來傳智播客學習。
❺ 軟體測試工程師的角色定位
軟體項目開發是個分工明確的系統工程,不同的人員扮演了不同的角色,包括部門經理、產品經理、項目經理、系統分析師、程序員、測試工程師、質量保證人員等。可見,軟體測試工程師只是軟體項目開發中的一個角色而已。
測試工程師承擔的任務角色決定工作內容和承擔的任務。測試工程師的角色應該承擔什麼任務呢?這沒有統一的答案。因為,這與軟體公司的規模,軟體項目管理制度,公司領導和項目經理的管理風格,以及具體軟體項目自身的特點有很大關系。而且,測試工程師也有普通和高級之分。
籠統的答案列舉如下:
設置軟體測試環境,安裝必要的軟體工具。
運行軟體,發現和報告軟體缺陷或錯誤。尤其需要快速定位軟體中的嚴重的錯誤。
對軟體整體質量提出評估
確認軟體達到某種具體標准
以最低的成本,最短的時間,完成高質量的測試任務
......
在這其中,最重要的是要明確,程序員的責任和目標。在執行任何具體測試任務前,都要在項目組內對於責任和目標達成共識,以免帶來後續工作的相互推諉。
提高測試質量的要訣
另外一個值得注意的方面就是工作效率和質量,或許高級測試工程師與普通測試工程師的主要區別在於高級測試工程師可以更快地發現更多軟體中的嚴重錯誤。對此,有什麼可以借鑒的訣竅嗎?請嘗試以下方法,保證不會使您失望。
首先測試程序的核心功能,然後測試輔助功能。
首先測試功能,然後測試性能。
首先測試常見情況,然後測試異常情況。
首先測試經過變更的部分,然後測試沒有變更的部分。
首先測試影響大的問題,然後測試影響小的問題。
首先測試必須測試的部分,然後測試可選或沒有要求測試的部分。
服務員
需要強調的一點是,無論你是多麼高級的測試工程師,都要明白無論測試需要的工具多麼復雜,測試步驟多麼冗長,測試工程師在軟體項目開發中始終都是扮演服務員的角色,這是由測試工作的特點決定的。任何服務都有被服務對象—客戶,測試工程師的服務對象有哪些呢?
最重要的客戶是軟體的用戶。測試工程師需要站在客戶的使用和需求角度測試軟體,報告問題。
項目經理也是客戶。測試工程師需要報告測試工作進度和發現的問題,尤其是嚴重的問題。
程序員是最經常打交道的客戶。為了便於程序員重復報告的錯誤,盡量提供良好的軟體問題報告,以便程序員可以更快的修復軟體錯誤。
技術文檔工程師、市場開發人員和技術支持工程師也都是測試工程師的服務對象。
避免錯誤
前文已經指出測試工程師應該明確角色,明確任務和責任。知道哪些是自己分內的事,哪些是不屬於自己的事。一定要盡最大努力完成分內的事,不要做不屬於自己的事情,以免弄巧成拙。
為了更好的扮演軟體測試工程師的角色,盡量避免犯下面的錯誤:
⒈承諾完成測試的軟體沒有質量問題
軟體測試只是保證質量的一種方法,軟體測試工程師的工作不會直接提高軟體質量,因為絕大多數軟體錯誤都需要程序員修復。軟體測試只能證明軟體存在錯誤,不能保證軟體沒有錯誤,不可能找出全部軟體錯誤。個人的能力和對質量的影響范圍很小,軟體質量的提高要靠軟體項目團隊全體成員的共同努力。
⒉承擔軟體的發布權利
不要因為軟體中存在還沒有修復的錯誤,而試圖提出更改軟體發布的計劃。也不要認為已經完成了測試計劃,自己決定可以發布軟體。因為,改變軟體發布計劃可能要失去進入市場的良機和很多客戶,對此造成的經濟和公司市場的損失將不是測試工程師能夠承擔的。另外,軟體發布後,如果用戶發現了新的軟體錯誤,公司領導或項目經理可能將過錯加在軟體測試人員的頭上,因為他們同意發布軟體。通常軟體發布的權利由產品經理、項目經理、測試經理、市場經理共同集體討論決定。
⒊扮演過程改進成員的角色
軟體測試工程師必須報告錯誤,有時也要分析錯誤的類型、特徵和產生錯誤的原因。但是,不要主動提出改進軟體過程的具體改進措施,更不要直接干涉程序員的工作方式,以免出力不討好,影響今後的愉快合作。軟體過程改進的方法是軟體質量控制部門的事情,這是他們的本職工作。
❻ 如何成為一個優秀的軟體測試人員
1、要學軟體測試,得先自己定位以哪方面為主,比如:ERP軟體、財務軟體等。
2、要多學習和使用各方面的軟體,要學習別人在某些關鍵問題的處理方式,比如:採用選擇錄入還是直接錄入等
3、定位好自己的軟體方面後,要多看相關的書籍,比如:想弄ERP軟體就得學習客戶管理、企業管理的流程、財務的相關知識等
4、有條件的話最好和一些開發團隊一起實踐下。
5、要有很強的耐心和足夠的細心,要不怕苦,可能會經常熬夜的,有些問題的測試是需要反復N次的。
6、加強自己的文字功底,學會寫軟體需求有利於你的軟體測試的提高,半年之內估計有點難,除非你有很好的基礎(軟體基礎、企業相關管理知識基礎—比如銷售流程的制定、采購流程的制定等)
❼ 軟體測試工程師如何做自己的職業規劃
第一階段:校園階段(畢業前1年-1.5年)
很多人的 職業規劃 是到了工作以後才開始進行的,其實,這樣做,有很大的局限性。凡是工作過的人,都有一個體會,就是自己的第一份工作,會影響到5-10年的發展軌跡,甚至會對一生產生影響。因此,選擇一份合適的工作作為起點,是必須要在校園內思考清楚的問題。
由於中國的教育基本是理論教育,大家在工作前的 實踐 能力大多比較弱,固然有其不足,但也有好的一面,那就是可塑性比較好。可塑性好代表了選擇的餘地可以很大,因此,大家在選擇第一份工的時候,要充分結合自己的教育背景、個人能力、興趣愛好、長期目標等等,作出理性的決策。
軟體測試,特別是黑盒軟體測試是一種入門起點較低、上手迅速、且發展空間比較大的職業,因此,對於很多學生而言,作為進入IT就業的初級崗位,是非常合適的。
校園階段的規劃,主要是選擇大的入門方向,當然,此時也可以給自己一個長期的目標,但是不必規劃過細,因為,在沒有入行前,一切都還未知,把握好路線即可。
下文假設大家選擇的是軟體測試工作。
第二階段:入門階段(入行後3個月-1年)
對於剛剛入行的新人,這個時期是一個全面熟悉期,最能夠學習到新的知識,也最有拼搏的熱情和動力。建議大家可以借著這股沖勁,盡可能了解所在領域的全貌,了解各個主要分支的內容、特性、優勢、局限性等等,並考察自己當前的工作環境,結合個人匹配程度和興趣愛好,根據前述內容調整自己的規劃。
對於測試行當而言,技術方面一般有幾類:黑盒測試、白盒測試、自動化測試、測試工具、專用業務技能等;相關的管理方面一般有:測試管理、質量管理、項目管理等。
面對上述形形色色的方向,建議大家可以都稍稍了解下內涵,然後確定1-2個,作為中長期的主攻方向,達此標准,基本已經實現了入門,至於能否進得廳堂,就要看後期的努力了。
第三階段:提高階段(入門後3年-5年)
對於入門後選擇管理還是選擇技術,其實這種問題,是無可無不可的,關鍵是看對自己的長期的定位了。不過,我個人建議當前階段還是技術為重吧。畢竟,在一個技術環境中,要做好管理,沒有扎實的基礎,也難服眾嘛。
本階段是人最容易懈怠的階段。畢竟,剛剛入行的熱忱早已被日復一日的繁復工作給冷卻,有了一定的工作經驗,勝任本職,對於大多數人而言,絕不是問題。家庭、娛樂方面開始占據了業餘生活的主流。可是,畢竟大家還很年輕,大多數人此時也不過20多歲,就此懈怠也是非常可怕的。因此,有規劃的提高自身核心競爭力,在這個時候尤為關鍵。
❽ 軟體測試:如何定位分析bug的出現原因
bug 原因一般由開發人員,在修改時,確認後再填寫。
❾ 測試人員 如何定位軟體缺陷
這個說起來很復雜。需要很多知識和測試經驗。你要對你們的軟體、系統、伺服器(我們成為測試環境)很了解才可以相對准確的定位bug。然而有的bug你定位不了很正常。通過長期的測試工作你會慢慢熟練、准確的定位bug的。祝你好運~
❿ 軟體測試人員測試過程中如何分析定位常見BUG
當你在上班期間,聽到不遠處傳來,這樣的聲音"你會不會提BUG,責任人都指派錯了,能好好提嗎?"
如果哪天開發對著你說出這句話
那麼作為測試的你,此時心裡是怎麼想的?
確實,作為一名測試的我,一直認為測試人員提出一個BUG,就要有一定的專業性、嚴謹性
作為一名測試人員如果連常見的系統問題都不知道如何分析,頻繁將前端人員問題指派給後端人員,後端人員問題指派給前端人員,那麼在團隊里你在開發中的地位顯而易見 ,口碑、升值、加薪那應該是你遙不可及的夢!
但是作為測試人員來說,盡管你不能深入的去分析問題,但是你能發現系統存在的問題,這點也是值得肯定的,所以繼續加油
所以今天給大家分享的主題是:"軟體測試人員測試過程中如何分析定位常見BUG"普及一些常用方法與技巧
首先當系統出現bug時,一定要將bug現象進行錄制保留,保留現象時為了證明這個bug出現過,如果bug是必現還好說,如果該bug無法必現,那麼保存的截圖都是你直接證據,要養成良好的保存現場的習慣
提BUG這塊,還是要體現出測試的專業性,標題簡潔、問題環境標識清楚、問題詳細描述清楚、系統錯誤表象貼圖、介面傳參返參貼圖、必要時貼伺服器日誌,總結來說不該少的bug標簽一個不要少
1、 小型產品,前後端一人統籌
一些小型程序,例如前後端都用node、php語言開發的,整個系統前後端是同一個開發的時候,那麼我可以自信的給你說,系統出現問題時,bug大膽的提,往猝死的提,責任人錯不了!
2. 常規系統,多人開發協同
前置:測試之前該測試人員對系統、業務、環境部署、開發人員等較為熟悉
在測試之前打開對應瀏覽器的F12直接開個新頁簽,或者使用抓包工具等,系統呈現出問題時,查看對應的請求、日誌信息等我們才能去全面的定位是前端還是後端人員的問題,具體給大家介紹以下幾個常用方法
(1)分析問題場景進行預判
先查看頁面表象,根據問題表像判斷問題可能出現的原因,進行縮小范圍,並且准備好錄制工具,錄制問題
系統頁面無法正常訪問的提示5開頭的找後端,4開頭的先檢查請求地址或者對應的許可權,進入系統頁面正常打開,提示異常代碼錯誤的直接找後端
進入系統頁面展示異常圖片視頻相關提示Flash等相關信息進行安裝Flash如若還不行找前端,界面UI展示兼容性錯誤找前端
如若系統訪問正常,進入操作頁面,功能性報錯信息,就進入下面環節,抓包查看對應請求體,看日誌等
4**開頭的狀態碼一般都是客戶端(前端)的問題;例如常見的404確認下是否是請求的地址有錯,403確認是否有許可權訪問,具體可網路
5**開頭的狀態碼一般都是服務端(後端)問題,例如常見的500,則表示是伺服器內部錯誤,503網路過載導致服務端延時,502伺服器崩潰等,具體可網路
通過訪問報錯的頁面,載入錯誤請求時我們通過F12進行分析請求包,查看對應的入參以及響應數據
例如:請求入參錯誤,那麼該bug屬於前端的錯誤;入參標准可以根據前端頁面的輸入的內容或者選擇的內容,進行核驗,入參格式以及是否必填等可以對應介面文檔去進行分析或跟開發確認
例如:請求未響應或者響應數據錯誤,那麼該bug就屬於後端的錯誤;一般是資料庫查看報錯,例如刪了某個表查詢報錯誤空指針等
如果請求的入參或者響應數據都沒問題,可以跟開發反饋是不是瀏覽器解析的問題,可以換個瀏覽器測試
(4) 查看日誌
針對服務端類型的報錯,我們可以進行登錄日誌平台或者伺服器對應Log目錄下查看列印出的日誌
常用查看日誌命令tail ,/error進行快速檢索關鍵詞介面名等相關內容
拿到對應的日誌,將日誌文件貼進bug單,指派給後端,提高專業性,測試人員也要養成看日誌的習慣,看著看著就懂了
(5) 經驗法則
在系統前端頁面當碰見伺服器配置相關報錯的信息例如Nginxxxx或者代碼以及SQL相關的提示報錯信息直接找後端處理,例如JAVAxxxx 、.PHP、SQL等異常報錯
前端字元校驗、格式校驗、等,瀏覽器界面UI兼容性以及插件,或者APP、小程序類調用手機相關功能拍照、語音無法正常調用直接找前端
記住以上的一些方法以及技巧減少將BUG責任人提錯的概率,在提單方面整潔完整一些,長久以來,體現出你的專業性,相信開發會對你豎起大拇指
做一個既能發現問題還能協助開發解決的問題的測試人員,那也是你從初級跨入中級測試的一個標准
最後我也整理了一些軟體測試學習資料,對於學軟體測試的小夥伴來說應該會很有幫助,為了更好地整理每個模塊
需要的私信我關鍵字【555】免費獲取哦 注意關鍵字是:555
全套軟體測試自動化測試教學視頻
300G教程資料下載【視頻教程+PPT+項目源碼】
全套軟體測試自動化測試大廠面經