① 軟體測試都要掌握哪些內容啊
軟體測試大體分為功能測試、性能測試、介面測試、自動化測試幾個方向,不同的方向需要學習的具體內容也不盡相同。
接下來就為大家講解一下每個階段具體要學什麼?
功能測試比較基礎,就是測試軟體的基本功能有沒有問題,是初級軟體測試員都要掌握的技能。要學計算機基礎、軟體測試核心理論、企業級環境配置實踐。具體會學習計算機基礎,軟體生命周期、開發模型、測試模型。軟體測試概念,軟體測試方法及分類、熱門領域測試技巧。Linux系統,資料庫的定義及基本概念,Mysql、Oracle等內容。
性能測試則是進階的測試技能,是測試軟體的性能,如負載等等。要學性能測試核心理論、Loadrunner。會學到性能測試,VuGen,Controller,Analysis,性能測試調優,資料庫調優,性能測試指標,Jmeter在性能測試中的應用。搭建測試環境,編寫測試計劃和測試用例,設置和運行場景,監控和收集數據,寫分析報告,項目綜合評審等內容。
介面測試則是測試模塊與模塊之間的介面有沒有問題。要學介面測試綜合核心理論、Jmeter、網路安全測試課程。具體要學習介面測試,Postman安裝使用,Fiddler安裝使用,Web和手機抓包,基本設置方法。Jmeter,搭建介面測試環境,分析業務流程。Web安全核心理論、Web漏洞及防禦、滲透測試、SQL注入、XSS跨站腳本、AppScan等內容。
自動化測試則是通過編寫腳本來實現用工具自動對軟體進行測試,要學Python編程技術、自動化測試入門、Web自動化測試:Selenium、移動自動化測試:Appium。具體學習Python,自動化測試分類及自動化適用的項目。學習Selenium,Appium,Monkey等。
② 白盒測試需要掌握幾種編程語言和幾種資料庫呢
1 白盒測試基本技術: 詞法分析與語法分析,靜態錯誤分析,程序插樁技術。2 白盒測試方法2.1代碼檢查法:代碼檢查方式(桌面檢查,代碼審查,走查),代碼檢查項目,編碼規范,代碼檢查規則,缺陷檢查表。2.2靜態結構分析法。2.3靜態質量試題法。2.4邏輯覆蓋法語句覆蓋:選擇足夠多的測試數據,使測試程序中每條語句至少執行一次。判定覆蓋(分支覆蓋):設計足夠多的測試用例,使用得程序中的每個判定至少都獲得一次「真值」或「假值」;或者說使用得程序中的每一個取「真」分支和取「假」分支至少經歷一次。條件覆蓋:構造一組測試用例,使得每一判定語句中每個邏輯條件的可能值至少滿足一次。條件判定組合覆蓋:設計足夠的測試用例,使用得判定中每個條件的所有可能(真/假)至少出現一次,並且每個判定本身的判定結果(真/假)也至少出現一次。多條件覆蓋:設計足夠的測試用例,使得每個判定中條件的各種可能組合都至少出現一次。修正條件判定覆蓋2.5基本路徑測試法程序的控制流圖(學會通過看程序塊畫出控制流圖)。程序環路復雜性(即McCabe復雜性度量)環路復雜性V(G)=判斷結點數+1.基本路徑測試法步驟: 以詳細設計或源代碼作為基礎,導出程序的控制流圖;計算得到的控制流圖G的環路復雜性V(G);確定線性無關的路徑的基本集;生成測試用例,確保基本路徑集中每條路徑的執行.2.6 其他白盒測試方法:域測試,符號測試,Z路徑覆蓋,程序變異 資料庫介面:SQL,它是最基本的和資料庫打交道的語言了,現在流行基本所有沒有它就等於房間沒有門一樣.
其它的就是一些
了,起碼要會C,然後自己看著方向發展,發Java的小程序設計,JavaScript VBScript的動態
,C++的精典程序設計,C#的微軟新一代.NET程序語言.很多的,就看你愛哪一方面了.
一般要測試的軟體用什麼寫的就要用什麼語言,我只學習性的做過一個c的,腳本語言主要perl,vb多些,可以再實踐中學習啊,有什麼不懂得就可以直接問有經驗的人。
③ 做軟體測試需要會sql么
啥都會可以測試的透徹,理解的透徹。
啥都不會可以有效的模擬用戶進行測試。
各有所長。但是會一些終究是對的。
④ 初級測試需要會哪些技能
初級測試一般就是功能測試,功能測試是測試工程師的基礎功,很多人功能測試還做不好,就想去做性能測試、自動化測試。我們要先學會走再跑哦,功能測試所需要掌握的技能有:
一、 熟練使用SQL
1、常用的 sql 語句一定會寫。比如說增刪改查之類。
2、了解資料庫的事務、會編寫存儲過程、熟練常用的系統函數。
3、了解並可以進行資料庫的備份、遷移、還原、鏡像等操作
4、對 sql 語句進行調優,並對可以對運行的語句監控查看性能
5、了解資料庫集群等操作。
二、Linux
Linux是測試人員的基礎功,不需要掌握太難或者很不常見的Linux命令,正常能做到查看日誌,定位問題就可以了。
1、基本命令
常用的Linux基本命令,面試經常會問的,或者給出一種場景,問你用什麼命令。
2、查看日誌
初級測試人員在工作時經常遇到,發現bug,開發不承認或者不願意解決的情況,測試人員怎麼擺脫這樣的問題呢?
那就是根據發現的bug根據日誌級別,來查看日誌,定位問題。
那這里首先要說一下日誌級別了。
首先記住這一點:日誌級別越高,輸出的信息越少 。
具體的日誌級別分為四級:
info : 代碼 info 信息,不包括sql語句等一些debug信息
warning warning : 代碼警告信息
error : 程序本身報錯信息 java.lang.outindexERROR.....
critical :幾乎用不到
一般不符合需求的bug在 debug中,程序本身報錯的bug在 error中。
三、 使用資料庫,跟數據流向
1、資料庫的本質
常見資料庫主要是MAYSQL、ORECAL、Redis
其中Mysql資料庫是典型的關系型資料庫
2、資料庫操作
(1) 資料庫和表操作
(2)表數據操作
(3)復雜sql查詢
四、 寫好測試用例
在測試過程中很重要的一類文檔,它是測試工作的核心、是一組在測試時輸入輸出的標准、是軟體需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人並不多。
測試用例必須包含的內容:
用例編號、用例名稱、測試背景、前置條件、優先順序、重要級、測試數據、測試步驟、預期結果、實際結果、備注。
1、測試用例的編寫流程
需求分析->提取測試點->測試用例編寫->測試用例評審
2、編寫測試用例的思路
(1)根據產品的RPD,提取測試點。
(2)根據數據流的走向。
(3)根據的架構部署。
(4)編寫測試用例的常用方法:等價類劃分法、邊界值分析法、流程圖法等。
(5)覆蓋弱網測試、介面測試、安全測試、性能測試等。
(6)常用測試工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等。
3、編寫測試用例注意事項
(1)根據項目的實際情況設計測試用例表格
(2)用例格式不要生搬硬套
(3)根據具體情況編寫
(4)學會質疑需求,不要完全按照需求來寫測試用例,要從客戶和產品的角度來理解需求,看到需求之外的功能和體驗
4、管理測試用例
為什麼要管理測試用例?
(1)測試用例數目巨大
(2)測試用例會根據需求的改變而改變
(3)測試用例需要長期補充完善
如何管理測試用例?
(1)原始的Excel管理
(2)專業的項目管理系統(eg:git、禪道、JIRA、Confiuence等)一般都為web格式
⑤ 寫測試用例很多要把驗證資料庫寫上去這是為什麼呢
測試環境規范化的需要。在用例中,盡量細化測試搭建環境,以保證對預期的結果的可控性。若測試目標支持多個資料庫,則肯定需要在用例的前置環境中明確資料庫類型。(若只支持單一資料庫,則只需在兼容測試用例部分寫明資料庫即可。)如,假設某PRE軟體,主要支持db2,並同時兼容oracle,SQL等資料庫。若在用例中不寫明測試資料庫類型,實際執行人員可能就會按照自己的理解去測試,最終導致某些測試點遺漏。
⑥ 學軟體測試需要寫代碼嗎
需要。
很多人當初抱著測試不需要懂代碼,才選擇了這個行業,這個就要看對自己的職業定位了,是止步於月薪過萬就可以了,還是往20k、30k去突破,如果這樣的話,是肯定要會介面、會自動化,就必然要涉及到代碼。
如果真的看不懂代碼,實際的測試後期的工作會出現什麼樣的問題呢?
(1)測試人員如果看不懂開發代碼,會導致BUG描述不清晰,不準確,開發人員不明白BUG應該怎麼重現,或者你想說的是什麼,甚至是一些很膚淺的bug,卻被測試人員認為是非常嚴重的問題。
(2)測試人員的開發知識匱乏,將不是BUG的BUG提交給開發人員,或者提出的建議性意見在開發中實現起來比較困難,又無法給出一個合理的解決辦法(開發人員易於實現的辦法)。
(3)測試出BUG的同時,無法清晰准確地定位BUG出現的源頭,導致與開發人員交涉次數過於頻繁,時間是寶貴的,缺乏交流有害,交流過多也容易出問題。
所以,測試人員對開發知識的了解是必須的。
(4)如果不了解開發知識,測試人員很容易被開發人員牽著鼻子走,對於一些BUG的PK,經常是理屈詞窮,因為開發人員隨便一忽悠,你如果不了解個中奧妙,你一個字也說不上來。
(5)自動化測試和性能測試包括項目管理,都會要求對軟體開發有深入的理解,如何能設計一個好的自動化框架,好的性能測試用例,如何管理一個開發團隊,這都需要我們在軟體開發方面有所掌握。
所以,測試了解軟體開發知識是必須的。
⑦ 從事軟體測試工作需要哪些知識
需要以下材料
1、 軟體測試基礎知識:
測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等等、CMMI /ISO9001
2、 各種測試工具的使用:
我們在測試的工作中為了能夠提高工作效率進程會用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、雖然說工具不是萬能的但是工具能為我們提高工作效率所以不能吧工具當神一樣看待、但是必須得會熟練的使用
3、 操作系統相關知識:
Windows、linux、uinx這些都必須會使用、而且不僅僅是簡單的操作、一般的服務管理、注冊表編輯、命令行操作都需要會、可以想像下一個連apache服務都不會安裝配置的人、誰能想像你可以做好基於apache環境的測試工作、什麼?不知道怎麼查看磁碟壓力、IO數據。windows linux都有提供自帶的工具可用於查看這些數據、perfmon、top什麼的。
4、 資料庫知識:
現在Oracle的DBA待遇比一般的開發人員待遇還高就知道資料庫在企業中的重要性了、作為測試人員雖然不需要有DBA的能力、但是基本的資料庫操作你必須得會把、不管是Oracle、DB2、MSsql還是mysql最少都應該能熟悉使用其中的一二。
5、 計算機硬體知識:
做過性能測試的朋友都知道在性能測試過程中硬體性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬體測試的。那麼就更不用說了。交換機、路由器、防火牆這些設備都需要有所了解。
6、 網路協議:
如果你還知道TCP和UDP有什麼不一樣的話請趕快去補充點知識吧、互聯網時代、一切都通過網路傳輸、常用協議必須得了解、曾經面試了一個測試工程師做了2年的測試居然不知道自己測試軟體使用什麼協議、這樣的人是你的話你敢招么?
7、 開發語言即代碼編寫能力:
雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那麼代碼編寫能力就是必選項、如果不會寫代碼、那麼你不可能成為高級測試。高級測試工程師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那麼精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你現在所在的項目從C++語言、2年後你換工作了、新公司的開發語言是java或者是VB什麼的)所以在開發語言中測試需要更廣的學習。
8、 行業知識:
行業知識之所以寫在最後面是因為前面的7條我們都可以通過學習來掌握、但是唯獨行業知識卻只能通過工作經驗來積累、不要說你去看幾本書就知道通信行業、醫療行業、或者是航天行業、你認為在書本上面能學到么?
由於行業知識的特殊性所以建議朋友們不要頻繁的跳槽、經驗的積累是需要時間來沉澱的。
9、 具有一定的美學觀:
這個說起來比較拗口一點、簡單來說不管是開發活動還是測試活動、最後的目標就是將產品推向市場、而且得到用戶的認可。所以如果產品在需求分析階段就出現了偏離用戶航道、那麼就算測試 開發做得再好這個項目也是一樣會失敗。所以各位如果有幸能夠參加需求評審的話、請不要吝嗇你的言論。
10、請不要忘記時刻學習著:
這點我相信大家應該都能理解所以不用寫什麼:僅此一點「不學習就會落後」
總結:說了那麼多技能或者是說是需要掌握的技術、如果你沒有一顆發現缺陷之美的心態、沒有一顆以提高質量為前提來投入工作中、那麼就算你其他做得再好也不過是萬千軟體測試從業人員中的一枚。測試活動大部分用於發現缺陷、而發現缺陷之後的工作尤為重要:怎麼樣從發現缺陷到提高質量。
⑧ 測試一般什麼時候使用資料庫
1
執行測試用例時,有時需要到資料庫驗證數據的准確性與完整性
2
進行bug定位時,有時需要到資料庫查看數據的詳細信息
3
構造某種測試場景時,可以在資料庫里直接修改數據,要比使用界面更有效率
4
軟體升級過程中,經常會涉及到對歷史數據的處理,這種情況需要執行升級sql,並驗證結果
測試相關內容你可以去了解一下傳智播客的課程,我朋友開始看他們課程自學的,後來進階去培訓了。現在薪資15左右,年底還有分紅等。
⑨ 如何針對SQL文寫測試用例
我也在找這個問題的答案
⑩ 測試是不是一定要寫測試用例
需要。測試用例是指導測試的依據。測試用例,可以規范測試過程。對於要測試的內容進行規劃和設計,無論是誰來測試,參照測試用例實施,都能保障測試的質量。
你在黑馬程序員學習3個月,這些都能學到,而且找工作都會找到很不錯的哦!