2019-11-04

1.1為什么需要軟件測試?

測試流程:(1)將所有的經(jīng)理根據(jù)客戶需求來編寫需求文檔

(2)開發(fā)根據(jù)需求文檔來編寫代碼

? ? ? ? ?測試需要根據(jù)需求文檔編寫測試計(jì)劃

(3)開發(fā)人員實(shí)現(xiàn)代碼

? ? ? ? ?測試人員編寫測試用例

(4)編碼結(jié)束之后由開發(fā)人員將代碼上傳測試人員需要將代碼下載并實(shí)現(xiàn)冒煙測試冒煙測試通過后 在實(shí)現(xiàn)全面測試(如果發(fā)現(xiàn)bug需要將bug提交給開發(fā)人員 開發(fā)解決問題之后測試人員需要進(jìn)行回? 歸測試)

(5)測試人員需要將測試報(bào)告以及測試用例整理文檔方便項(xiàng)目版本迭代的使用

1.2為啥選擇測試

(1)測試需求越來越多

(2)開發(fā)人員是來創(chuàng)造世界乏屯,測試人員是將世界變得更美好

為什么不讓開發(fā)人員自己做測試?

1磨确、很多測試人員本身就是開發(fā)出身

(1)從專業(yè)角度去看.讓專業(yè)的人員去做專事

(2)從思維定勢:開發(fā)永遠(yuǎn)的真諦是我的代碼沒問題

(3)從測試力度:開發(fā)人員不會(huì)舍得

(4)從客戶角度:用戶會(huì)有千奇百怪的想法或者是超出想象的思維

1.3.2軟件測試的作用?

(1)通過測試工作可以發(fā)現(xiàn)并修復(fù)軟件中存在的缺陷,從而使軟件的壽命增長客戶使用信心增強(qiáng)

(2)測試可以記錄軟件在運(yùn)行過程中產(chǎn)生的一些數(shù)據(jù)從而為決策提供數(shù)

(3)測試可以降低同類產(chǎn)品開發(fā)遇到的風(fēng)險(xiǎn)

1.4軟件測試的原則:

(1)測試證明軟件是存在缺陷的

(2)不能執(zhí)行窮盡測試

(3)缺陷存在群集現(xiàn)象(2:8原則 20%核心功能 )

(4)測試應(yīng)提早介入(從定義需求的時(shí)候就有了測試)

(5)某些測試需要依賴特殊環(huán)境(操作系統(tǒng)瀏覽器不同得到手機(jī)或者手機(jī)版本)

(6)殺蟲劑現(xiàn)象

(7)不存在缺陷謬論(開發(fā)人員說自己的代碼沒問題的時(shí)候你怎么辦明郭?)

測試級別:

軟件開發(fā)都由自己的開發(fā)模型(瀑布v ?vv ?h)

測試人員會(huì)根據(jù)對軟件的操作步驟進(jìn)行測試級別分類:

(1)單元測試(UT)

在軟件測試中,單元就是組成軟件的最小單位(類函數(shù)組件)

(2)集成測試(IT)

將多個(gè)不同的模塊進(jìn)行組合在一起進(jìn)行驗(yàn)證(接口是否ok)

(3)系統(tǒng)測試(ST)

測試人員充當(dāng)用戶對軟件進(jìn)行測試

(4)驗(yàn)收測試

軟件發(fā)布之后由客戶實(shí)現(xiàn)買單

1.6系統(tǒng)測試分類:

1.功能測試驗(yàn)證當(dāng)前軟件的主體功能是否ok

2.兼容性測試驗(yàn)證當(dāng)前軟件在不同的環(huán)境下是否ok

3.安全測試驗(yàn)證軟件是否只有授權(quán)用戶提供功能是使用

4.性能測試驗(yàn)證軟件是否消耗其他的資源

? 1.1測試用例的定義

為了特定目的而設(shè)計(jì)的一組輸入測試丰泊,執(zhí)行條件薯定,預(yù)期結(jié)果為了驗(yàn)證該功能是否滿足需求。

測試用例作用:

測什么怎么測

Eg: 手機(jī)

按開機(jī)鍵相當(dāng)于一組輸入測試

手機(jī)是否有電執(zhí)行條件

能夠正常顯示預(yù)期結(jié)果

手動(dòng)按開機(jī)鍵測試過程

1.2如何編寫測試用例

1. 測試用例都是wps表來進(jìn)行編寫

測試用例中含有

(1)編號該用例的編號

日期

(2)測試人員

(3) 項(xiàng)目

(4) 分項(xiàng)目

(5)執(zhí)行條件

(6)測試過程

(7) 預(yù)期結(jié)果

(8) 實(shí)際結(jié)果

在公司內(nèi)測試人員需要大量的編寫測試用例一天至少30-50條測試用例的編寫

測試用例的模板公司都不一致

1.3 bug的優(yōu)先級

1.致命缺陷

2.嚴(yán)重bug

3.一般bug

1.4測試用例的設(shè)計(jì)方法

等價(jià)類劃分

使用場景:在有輸入框使用等價(jià)類劃分以及邊界值法混合使用

按照需求將窮盡數(shù)據(jù)進(jìn)行分類區(qū)分去有效的數(shù)據(jù)和無效的數(shù)據(jù)

有效數(shù)據(jù)成為有效等價(jià)類

無效數(shù)據(jù)成為無效等級類

邊界值

使用場景:在有輸入框使用等價(jià)類劃分以及邊界值法混合使用

有效邊界值1-100

無效邊界值-1 ---負(fù)數(shù)的無窮盡

???? 101--整數(shù)的無窮盡

3.因果法

應(yīng)用場景:

一個(gè)界面有多個(gè)操作瞳购,多個(gè)操作之間有一定的組合關(guān)系或者是限制關(guān)系

輸入不同的操作會(huì)產(chǎn)生不同的效果

]4.場景法

應(yīng)用場景:

在界面沒有過多的填寫項(xiàng)话侄,所有的操作都是通過鼠標(biāo)的單擊雙擊

金融類游戲類硬件交互類

ATM取款機(jī)

取款失敗的場景:

1.密碼錯(cuò)誤

2. 賬號余額不足

3. Atm中沒有錢

4.吞卡

5.超限

6. 無效的銀行卡

7非銀行卡

5. 判定表

6.正交

7. 隨機(jī)法

使用場景:列表數(shù)據(jù)中實(shí)現(xiàn)隨機(jī)數(shù)據(jù)

在無窮中的數(shù)據(jù)中隨機(jī)選擇進(jìn)行測試

1.1測試強(qiáng)度

測試強(qiáng)度在有需求文檔或者api的時(shí)候可以根據(jù)需求文檔測試

在沒有測試文檔或者是api的時(shí)候,可以根據(jù)個(gè)人經(jīng)驗(yàn)是否測試

考慮的因素:

1. 2個(gè)整數(shù)(正整數(shù) 負(fù)整數(shù))

2. 2個(gè)輸入框是否為空

3. 特殊符號

4. 中英文字母/漢字

5.提醒框/輸入框是否重置

Bug是指在代碼中存在的

1.2軟件缺陷

定義:缺陷就是軟件的問題学赛,最終表現(xiàn)為沒有客戶的需求

1.3哪些屬于軟件缺陷

1. 軟件沒有達(dá)到規(guī)格說明書定義的功能

2. 軟件出現(xiàn)了規(guī)格說明書上指明不能存在的錯(cuò)誤

3.軟件功能超出了說明書上的范圍

4.軟件測試人員或者用戶覺得不友好的

5.軟件未達(dá)到說明書上應(yīng)該具有的功能

1.4軟件缺陷的表現(xiàn)形式

1.功能上沒有實(shí)現(xiàn)或者部分沒有實(shí)現(xiàn)

2.設(shè)計(jì)不合理功能不明確的邏輯不清楚的或者是邏輯本身就是存在矛盾

3. 實(shí)際結(jié)果與預(yù)期結(jié)果不同

4. 沒有達(dá)到規(guī)格要求說明書上的要求性能指標(biāo)

5. 運(yùn)行有錯(cuò)的崩潰中斷頁面混亂

6.數(shù)據(jù)不正確精度不夠不完整或者是格式不統(tǒng)一

7.用戶不能接受的問題年堆。如果存取時(shí)間過長,頁面不美觀小廣告太多

8.硬件或者軟件存在的其他問題

1.5軟件缺陷的狀態(tài)(生命周期)

1. 提交--測試人員提交發(fā)現(xiàn)的缺陷給開發(fā)

2. 打開--將缺陷轉(zhuǎn)一個(gè)待處理的狀態(tài)

3.拒絕--開發(fā)者不認(rèn)為這是一個(gè)缺陷

4. 修復(fù)--開發(fā)者將缺陷進(jìn)行修改

5.關(guān)閉--測試人將進(jìn)行回歸測試之后認(rèn)為該缺陷已經(jīng)解決后

6. 推遲--將問題持續(xù)到下一個(gè)版本中在去解決 但是要記錄詳細(xì)的修復(fù)日期或者版本

測試人員新提交的缺陷為新建狀態(tài)盏浇,在確認(rèn)有效后將缺陷狀態(tài)改為打開狀態(tài)变丧,

開發(fā)人員修改后已修復(fù)狀態(tài)測試人員需要進(jìn)行回歸測試,如果驗(yàn)證問題已解決將狀態(tài)改為修復(fù)狀態(tài)如果經(jīng)過回歸測試驗(yàn)證缺陷依然存在將缺陷的狀態(tài)改為打開狀態(tài)讓開發(fā)再次修復(fù)绢掰。如果開發(fā)人認(rèn)為此缺陷需要延期修復(fù)將缺陷的狀態(tài)改為延期(推遲狀態(tài))

延期的時(shí)候有項(xiàng)目負(fù)責(zé)人開發(fā)主管測試主管確認(rèn)才可以延期否則還是打開狀態(tài)

1.6軟件缺陷的嚴(yán)重程度進(jìn)行劃分

1. low ????--表面性錯(cuò)誤

2.Medium ?--影響到一個(gè)對立的功能痒蓬,僅僅發(fā)生在特定條件下 與需求定義的不臺一直 斷斷續(xù)續(xù)的出現(xiàn)的問題

3. High ?????--功能點(diǎn)沒有實(shí)現(xiàn)不符合客戶的需求 導(dǎo)致丟失數(shù)據(jù)

4. Veryhigh ??--頻繁死機(jī) 大部分功能不能使用

5.Critical ????--系統(tǒng)癱瘓 異常退出 死循環(huán) 嚴(yán)重計(jì)算失誤

結(jié)局缺陷的優(yōu)先級

1.low ?--時(shí)間和資源允許情況下進(jìn)行修復(fù)

2.Medium --不會(huì)延遲發(fā)布

3. Highh ?--必須在發(fā)布之前解決

4. Veryhigh ???--必須解決 ?

5. Critical ???-- ?

1.7軟件的缺陷的分類:

1.系統(tǒng)缺陷

2.數(shù)據(jù)缺陷

3.數(shù)據(jù)庫缺陷

4.接口缺陷

5.功能缺陷

6.安全性缺陷

7.兼容行缺陷

8.性能缺陷

9.界面缺陷?????

17缺陷報(bào)告

1.7.1書寫規(guī)范:

1.標(biāo)題簡潔 ?提供缺陷的本質(zhì)信息即可

2.復(fù)現(xiàn)的步驟要詳細(xì) 可以用數(shù)字編號(測試用例的編號)

3.實(shí)際結(jié)果要描述浮現(xiàn)后的結(jié)果

4.列出期望結(jié)果(在測試用例中存在期望結(jié)果可以不寫)

5.提供條件(可以在測試用例)

6.提供嚴(yán)謹(jǐn)?shù)臏y試報(bào)告給開發(fā)人員

缺陷報(bào)告的使用以及測試用例的案列https://blog.csdn.net/weixin_41948075/article/details/89287926

? ? ? ? ? ? ? ? ? ? ? ? ? ?Mysql

1.1數(shù)據(jù)庫的介紹:

數(shù)據(jù)庫從小到大的分類:

大型數(shù)據(jù)庫Oracle ?Db2

中型數(shù)據(jù)庫sqlserver

小型數(shù)據(jù)庫mysql

微型數(shù)據(jù)庫sqlite

1.2數(shù)據(jù)庫的安裝

數(shù)據(jù)庫分為服務(wù)端和客戶端

客戶端分為常用的可視化工具類:貓抓小海豚

安裝的注意事項(xiàng):

1.如果安裝失敗需要在注冊表將數(shù)據(jù)完全刪除(運(yùn)行輸入regedit使用ctrl+F 查找并刪除)

2.安裝的時(shí)候一定要更改編碼utf-8

3. 允許多個(gè)人員多數(shù)據(jù)庫的訪問

4. Mysql的端口號 ?3306 ??mysql只有用戶權(quán)限 root

5. 卸載mysql的服務(wù)端 ?同時(shí)將文件安裝后的文件夾刪除 ?

1.3數(shù)據(jù)庫的數(shù)據(jù)類型

整數(shù)類型int ?bigint

小數(shù)類型float ?double

字符串類型char(10)數(shù)據(jù)庫會(huì)分配一個(gè)長度為10個(gè)空間 長度是不可以 發(fā)生改變

Varchar(10)數(shù)據(jù)庫會(huì)分配一個(gè)長度為10個(gè)空間 長度是可以發(fā)生改變的

時(shí)間類型date ??time ?datatime ??timestamp(時(shí)間戳)

大數(shù)據(jù)類型blob ?clob

文本類型text

1.4 sql的分類

DDL數(shù)據(jù)庫定義語言 ?????create ?alter ?drop (對庫和表的操作)

DCL數(shù)據(jù)庫控制語言 ?????grant ?revoke

DML數(shù)據(jù)庫的操作語言 ????insert into ???update ?delete

DQL數(shù)據(jù)庫的查詢語言 ?????select ?order by ?group by ?limit ?inner join ?left join ???right ?join

1.5 sql的注意事項(xiàng)

1. mysql不區(qū)分大小寫

2.數(shù)據(jù)庫的中注釋以 # ??/**/ ??--

3.數(shù)據(jù)庫的 “”??‘’沒有區(qū)別

1.6sql表語句

1. 查看所有數(shù)據(jù)庫

Show databases ?

2. 新建數(shù)據(jù)庫

Create database數(shù)據(jù)庫的庫名 ?

3.刪除數(shù)據(jù)庫

Drop database數(shù)據(jù)庫的庫名

4. 切換數(shù)據(jù)庫

Use數(shù)據(jù)庫庫名

5.查看當(dāng)前數(shù)據(jù)庫的表

???Show tables

1創(chuàng)建表

Create table表名(

字段名數(shù)據(jù)類型約束條件,

字段名1數(shù)據(jù)類型1,

字段名2數(shù)據(jù)類型2,

)

Sql約束條件:

自增auto_increment ???

主鍵primary key

非空not null

唯一unique

默認(rèn)值default

外鍵foreign key(實(shí)現(xiàn)多表的聯(lián)查)

Eg:

??Crate table student(

Id ?int ?primary key ?auto_increment unique,

Stu_id ?int not null unique,

Stu_name varchar(20),

Stu_sex default sex(‘男’),

????Stu_age int

)

1.6.2對表結(jié)構(gòu)的操作

查看表結(jié)構(gòu)

Desc表名 ??查看的是表的 字段名 ?數(shù)據(jù)類型 約束條件

查看建表語句

???????? Show crate table表名

修改表名

Alter table舊表名 rename 新表名

修改字段

???? Alter table表名 change 字段名 新字段名 數(shù)據(jù)類型

添加字段

Alter table表名 add 字段名 數(shù)據(jù)類型

刪除字段

Alter table表名 drop 字段名

刪除表

??? Drop table表名

1.6.3對表的增 刪 ?改

????????????? 增:

[if !supportLists]1.?[endif]單條數(shù)據(jù)的增加

Insert ?into表名(字段名) values (字段值)

[if !supportLists]2.?[endif]多條數(shù)據(jù)的增加

?Insert ?into表名 (字段名) values (字段值1),(字段值2),(字 段3).曼月。谊却。。哑芹。

刪除:delete from表名 where 刪除條件

[if !supportLists]1.?[endif]物理刪

將數(shù)據(jù)從數(shù)據(jù)庫中刪除

[if !supportLists]2.?[endif]邏輯刪

將數(shù)據(jù)的狀態(tài)從1改為 0 ?(0 為不顯示 ?1顯示)

????????修改:

??? Update form表名 set ?字段名=字段值 where 條件

?? 跟新一行一列

???? Update表 set 字段名 = 字段值 where id = 1

更新一行多列

Update表 set 字段名 = 字段值 where ?name=‘張鵬’

更新多行一列

Update表名 set 字段名 = 字段值 where id>=3 and id <=5

跟新多行多列

Update表名 set 字段名 = 字段值 where ?id = 2 or id= 3

跟新多個(gè)字段

Update表名 set 字段名1= 字段值 1, 字段2 = 字段值2 where 條件

1.6.4對表的查詢

?? 1.?查詢所有:(*代表的是通配符 代表所有數(shù)據(jù) 可以換成 具體的字段查詢)

Select * from表名

2.條件查詢

Select * from表名 where 條件

1. 區(qū)間查詢

Select ?* from表名 where id >3 and id<5 ???

Select ?* from表名 where id >3 or id<5 ???

[if !supportLists]2.?[endif]排序查詢order by

升序asc(mysql中默認(rèn)的就是asc)

降序desc

Select * from表名 order by stu_age asc/desc

1.分頁查詢limit初始值,記錄行數(shù)(每頁顯示的行數(shù))

??Select * from stu limit 0,3

每頁記錄數(shù)pagesize

頁碼數(shù)pageNumber

Limit(pageNumber-1) * pagesize ??, ?pagesize

真分頁將查詢出來的所有數(shù)據(jù)直接分頁

假分頁將查詢出來的所有數(shù)據(jù)在頁面展示的時(shí)候在進(jìn)行分頁

2.去重查詢distinct一般和聚合函數(shù)一起使用

3. 模糊查詢like

%相當(dāng)于任意字符

_相當(dāng)于一個(gè)字符

Select * from表名 where ?字段名 like ‘%張%’

Select * from表名 where ?字段名 like ‘張_’

4. 分組查詢group by

Select * from表名 group by sex ?=‘男’

5.having實(shí)現(xiàn)分組進(jìn)行查詢

1.7聚合函數(shù)

1.7.1求和 ?

?? Sum(字段名)

? Select ?sum (stu_age) from表名

1.7.2求平均

Avg(字段名)

Select ?avg(stu_age) from表名

1.7.3求最大值

Max(字段名)

Select ?max(stu_age) from表名

1.7.4求最小值

Select ?min(stu_age) from表名

1.7.5求總的行數(shù)

Select ?count(stu_id) from表名

1.8單表查詢的公式

Select分組條件 或者 聚合函數(shù)

From表名

Where條件 1

Group by分組條件

Having分組后的條件

Order by排序條件

Limit起始位置,記錄數(shù)

1.9多表聯(lián)查

--實(shí)現(xiàn)使用笛卡爾積 ?

--內(nèi)連接 ??INNER JOIN ?

--外連接 ??左外鏈 ?LEFT JOIN

-- 右外聯(lián)RIGHT JOIN

-- student和中間表 ?stu_subject 實(shí)現(xiàn)相連

???select stu_name,sj.subjectname from student ?as stu

???INNER JOIN stu_subject ?as stu_sub

???ON stu.stu_id = stu_sub.stu_id

--中間表和 subject 表實(shí)現(xiàn)相連

???INNER JOIN `subject` as sj

???ON stu_sub.subjectnumber = sj.subjectnumber

1.2linux

在liunx中

/根目錄

Etc安裝軟件后需要在etc進(jìn)行修改配置文件

Home用戶目錄

Bin存放二進(jìn)制文件

Ure是用來存放文件的類似于window的具體e盤符

Dev是用來掛外接設(shè)備

1.3linux的常用命令

Ls展示數(shù)據(jù)

Cd進(jìn)入的目錄下

Mkdir創(chuàng)建文件夾

Touch創(chuàng)建文件

Vi文件名 ?

I:編輯

Esc退出編輯狀態(tài)

:wq進(jìn)行保存

Cat文件名 ?查看文件內(nèi)容

Rm刪除文件名

Rm -r刪除文件夾

Mv是重命名的話 ?mv 舊文件名 新文件名

Mv是移動(dòng) ??mv 文件名 移動(dòng)的目的地的路徑

Cp復(fù)制 ???cp ?源文件 復(fù)制到的路徑名

ADB命令

1.?連接手機(jī)

2.?打開開發(fā)者模式

3.?打開usb調(diào)試

4.?在黑窗口中輸入 ??獲取設(shè)備列表: ?adb devices???終止adb進(jìn)程: adb kill-server

5.?adb install apk直接路徑,這種安裝必須是沒有這個(gè)apk,如果手機(jī)上有這個(gè)apk是安裝不成功的,如果有apk想安裝必須使用 adb install -r apk直接路徑,這樣安裝的apk以前的數(shù)據(jù)是不會(huì)消失的會(huì)在手機(jī)上實(shí)現(xiàn)安裝

6. 卸載apk, adb uninstall 應(yīng)用包名字:?在Android?注冊文件里面有個(gè)package里面可以找到包名

注意1.將apk文件后綴名改為zip 實(shí)現(xiàn)解壓

2.需要jar包 AXMLPrinter2.S.jar 并放在解壓后的文件統(tǒng)一目錄下

]3. 在路徑上輸入cmd

4. java -jar AXMLPrinter2.S.jar AndroidManifest.xml >> AndroidMainfest1.xml(自定義)

5.實(shí)現(xiàn)反編譯在多出來的文件中文件名自定義的里面尋找包名package="com.codeest.geeknews"

6. 在黑窗口中輸入adb uninstall 應(yīng)用包名字實(shí)現(xiàn)卸載

???卸載apk同時(shí)保留數(shù)據(jù)和緩存: adb shell pm uninstall -k 應(yīng)用包名字

7. 獲取當(dāng)前手機(jī)所有的包名:adb shell pm list packages

8. 清除指定應(yīng)用緩存:adb shell pm clear 包名

9. 獲取應(yīng)用路徑: adb shell pm path包名:

10.從Android?設(shè)備下載文件到pc, adb pull <remote> <local>

???Remote: Android?手機(jī)文件的直接路徑

??Local: 需要下載到的地方的直接路徑

11.列出目錄內(nèi)容: adb shell ls

12: adb shell :進(jìn)入手機(jī)里面的環(huán)境里面:

(1): cd 文件名字切換目錄

(2): ls 展示所有文件

13: adb shell netstat: 網(wǎng)絡(luò)統(tǒng)計(jì):

14:打印日志文件: adb logcat:

? ? ? ? ? ? ? ? Monkey命令

monkey在本地電腦必須配置Android_HOME環(huán)境和Path環(huán)境,

ANDROID_HOME=/Volumes/sd1/Android/sdk/(就是我們SDK的路徑) PATH=${PATH}:/Volumes/sd1/Android/sdk/platform-tools/:/Volumes/sd1/Android/sdk/tools ?path 配置兩部分,?platform-tools 和sdk/tools 只有有了這兩部分才能使用monkey進(jìn)行穩(wěn)定性測試捕透。

1.查看設(shè)備的鏈接情況:adb devices

2.手機(jī)里面的軟件隨機(jī)點(diǎn)擊:adb shell monkey 1000

負(fù)載測試

是應(yīng)用在重負(fù)荷下的表現(xiàn)

是測試對象在不同的工作量的條件下的性能表現(xiàn),以及持續(xù)正常的運(yùn)行能力

目的確保系統(tǒng)在超出最大的預(yù)期工作量的情況下仍舊能夠正常的運(yùn)轉(zhuǎn)

評估性能特征以及響應(yīng)時(shí)間事務(wù)處理的速率以及其他與時(shí)間上有關(guān)的方面測試

強(qiáng)迫測試

在交替進(jìn)行超負(fù)荷和性能測試的一種說法

也是用于測試對象在超出負(fù)荷中狀態(tài)下進(jìn)行的功能測試

對某一個(gè)測試點(diǎn)進(jìn)行輸入大量的重復(fù)輸入或者是大量數(shù)據(jù)的輸入針對數(shù)據(jù)庫一個(gè)復(fù)雜查詢

壓力測試

對測試對象的任何測試點(diǎn)在少量的計(jì)算機(jī)或者是資源匱乏的情況下進(jìn)行的測試

對cpu內(nèi)存 服務(wù)器等硬件上的測試 一般做并發(fā)測試

安全測試

測試對象在授權(quán)的情況下進(jìn)行的測試

1. 非法截取或者破譯口令

2. 專門定義的測試腳本來破壞測試對象的保護(hù)

3. 故意導(dǎo)致系統(tǒng)失敗或者非法進(jìn)入系統(tǒng)

4. 試圖使用瀏覽器的url地址進(jìn)行拼接而達(dá)到

5. 使用使用sql語句注入的方式

? ? ? ? ? ? ? ? ? ? ? ? ?Charles

1. 應(yīng)用場景:

前后臺在某個(gè)功能上的迭代站欺,約定好接口的數(shù)據(jù)格式(json) 前段來通過軟件的重定向功能來模擬服務(wù)器的響應(yīng)得到不同的結(jié)果

手動(dòng)實(shí)現(xiàn)復(fù)現(xiàn)一些服務(wù)器響應(yīng)錯(cuò)誤500 ?404 ?400 ?300 405

作業(yè):熟悉服務(wù)器的不同的狀態(tài)碼 ?

在弱網(wǎng)的環(huán)境下實(shí)現(xiàn)模擬

2. 目的:

合法截取到接口以及參數(shù)返回值圖片文件。嘴秸。

3. 工具的安裝

1卿拴、直接傻瓜試安裝exe文件

1梨与、在https://www.zzzmode.com/mytools/charles/網(wǎng)站實(shí)現(xiàn)根據(jù)不同的版本下載不同破解壓縮包

2堕花、替換掉在lib文件下jar包

Charles抓包的具體實(shí)現(xiàn)步驟:

https://blog.csdn.net/liuwkk/article/details/81258522

在抓取移動(dòng)端的https協(xié)議的時(shí)候安裝證書路徑

???Charlspoxy.com/getssl

Jmeter

用來進(jìn)行性能測試壓力測試接口測試

Jmeter下載頁面

http://jmeter.apache.org/download_jmeter.cgi

后綴名為.zip可以用在可視化系統(tǒng) woindows mac

后綴名為.tgz 可以用在linux系統(tǒng)上

下載之后解壓并配置環(huán)境變量

在環(huán)境變量中設(shè)置--系統(tǒng)環(huán)境變量中

Jmeter性能測試

面試題:http和https的區(qū)別

針對http請求

步驟:

1. 在測試計(jì)劃中添加線程組

2. 在線程組中添加http請求

3.在http請求中進(jìn)行添加元素

4. 添加響應(yīng)斷言

5. 添加查看結(jié)果樹

6. 添加聚合報(bào)告

針對https請求

?1. 在使用https協(xié)議的時(shí)候需要下載并安裝證書下載需要在網(wǎng)址的url地址欄中點(diǎn)擊鎖

2. 一路下一步直至導(dǎo)出證書.cer文件

3. 將.cer文件編譯成.store 需要使用jdk目錄下的bin文件下的keytool.exe文件

在黑白窗口中使用命令

Keytool -import -alias "jiuyue.store" -file?

"C:/Users/Administrator/Desktop/a.cer" -keystore

?"C:/Users/Administrator/Desktop/jiuyue.store"

4. 在jmeter中添加線程組

5. 添加http請求

6. 添加斷言

因?yàn)槭窍蚍?wù)器發(fā)出請求得到的測試模式為抓包得到的json

7. 添加結(jié)果樹

如果需要進(jìn)行壓力測試100個(gè)線程同時(shí)發(fā)布10個(gè)請求

8. 在聚合報(bào)告中可以查到結(jié)果

Jmeter的腳本錄制

腳本錄制方式有2種

1. 使用第三方的boadboy的軟件

?? 在url地址欄中輸入一系列的業(yè)務(wù)需求 打開不同的頁面以及參數(shù)

點(diǎn)擊紅點(diǎn)停止錄制

在file菜單中選擇 export jmeter 會(huì)生成.jmx文件

打開jmeter中選擇文件中的打開

會(huì)自動(dòng)生成一個(gè)線程組在線程組中的步驟是具體的每一個(gè)接口

任何一個(gè)http請求 都會(huì)自動(dòng)生成 路徑。方式粥鞋。缘挽。。呻粹。到踏。

在結(jié)合響應(yīng)斷言查看結(jié)果樹。尚猿。

有可以對其使用弱網(wǎng)測試壓力測試性能測試

使用badyboy錄制的大多數(shù)都是web項(xiàng)目或者是后臺開發(fā)

2. 使用jmeter的代理錄制

使用android的項(xiàng)目可以使用jmeter的代理

需要在jmeter工具和手機(jī)端都要安裝證書(jmeter的證書)

Pc端和手機(jī)處以同一網(wǎng)絡(luò)下(手機(jī)設(shè)置手動(dòng)代理)

在添加線程組-->httpcookie管理器

在工作臺上添加http代理服務(wù)器

在代理服務(wù)器上添加端口號以及目標(biāo)控制器分組

點(diǎn)擊啟動(dòng)按鈕后會(huì)彈出對話框安裝證書

在選項(xiàng)中選擇ssl管理器 給jmeter導(dǎo)入證書

在移動(dòng)端進(jìn)行安裝證書將后綴名為crt的文件拖入到手機(jī)中或者是在文檔根目錄 ?

1. 拖拽到移動(dòng)端然后自動(dòng)安裝

2.在跟目錄下使用證書安裝程序的方式進(jìn)行安裝

3. 在設(shè)置中-->安全-->從sd卡中安裝證書

模擬器一定要進(jìn)行重啟(可以錄制app的使用場景)

Jmeter+ant+jendkins接口自動(dòng)化

1.jmeter的安裝以及環(huán)境變量的設(shè)置

在dos命令中執(zhí)行jmeter

???Jmeter_home

1.jmeter 默認(rèn)生成的測試報(bào)告的后綴為.jtl格式 修改成mxl

在jmeter文件下bin\jmeter.properties中將

jmeter.save.saveservice.output_format=csv修改為xml并解開注釋

2. ]將apacheAnt.rar 實(shí)現(xiàn)解壓

3.實(shí)現(xiàn)將ant和jmeter實(shí)現(xiàn)關(guān)聯(lián)

通過在jmeter文件夾下extras/ant-jmeter-1.1.1.jar取覆蓋到ant下

lib文件夾

[if !supportLists]4.?[endif]配置框架結(jié)構(gòu)

自定義文件夾JTest

將能和jmeter關(guān)聯(lián)的ant文件復(fù)制到

F:\JTest\apacheAnt(替換過jar包的ant)

F:\JTest\JmeterAutoTest\pc\resultlog\jtl(jmeter自動(dòng)生成的測試報(bào)告但是看不懂)

?F:\JTest\JmeterAutoTest\pc\resultlog\html ??(使用ant將jtl的測試報(bào)告轉(zhuǎn)換html)

F:\JTest\JmeterAutoTest\pc\script (用來存放腳本 .jmx文件)

[if !supportLists]5.?[endif]配置ant的環(huán)境變量

???Ant_home ??F:\JTest\apacheAnt

???Path ??????F:\JTest\apacheAnt\bin

在dos命令行輸入 ant -version 來驗(yàn)證ant配置成功

6. 將測試報(bào)告發(fā)送到郵箱

???activation-1.1.jar

???commons-email-1.1.jar

???mail-1.4.jar

復(fù)制到ant下的lib文件夾下實(shí)現(xiàn)替換

7. Ant的執(zhí)行時(shí)通過buid.xml來執(zhí)行

將buid.xml 存放到

F:\Test\JmeterAutoTest\pc\build.xml(因?yàn)橐獔?zhí)行的時(shí)pc的測試報(bào)告)

更改buid.xml文件的7個(gè)地方

8. 將.jmx文件放入到script文件夾下

9. 在buid.xml文件存放的的目錄下 使用dos命令 ant即可生成測試報(bào)告并發(fā)送

0人點(diǎn)贊

日記本

作者:寶藏男孩_fc2b

鏈接:http://www.reibang.com/p/f8bc2ae74f52

來源:簡書

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)楣富,非商業(yè)轉(zhuǎn)載請注明出處凿掂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子庄萎,更是在濱河造成了極大的恐慌踪少,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糠涛,死亡現(xiàn)場離奇詭異援奢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)忍捡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門集漾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砸脊,你說我怎么就攤上這事具篇。” “怎么了凌埂?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵驱显,是天一觀的道長。 經(jīng)常有香客問我瞳抓,道長埃疫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任孩哑,我火速辦了婚禮栓霜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘臭笆。我一直安慰自己叙淌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布愁铺。 她就那樣靜靜地躺著鹰霍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茵乱。 梳的紋絲不亂的頭發(fā)上茂洒,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音瓶竭,去河邊找鬼督勺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斤贰,可吹牛的內(nèi)容都是我干的智哀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荧恍,長吁一口氣:“原來是場噩夢啊……” “哼瓷叫!你這毒婦竟也來了屯吊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤摹菠,失蹤者是張志新(化名)和其女友劉穎盒卸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體次氨,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔽介,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煮寡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虹蓄。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖洲押,靈堂內(nèi)的尸體忽然破棺而出武花,到底是詐尸還是另有隱情,我是刑警寧澤杈帐,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布体箕,位于F島的核電站,受9級特大地震影響挑童,放射性物質(zhì)發(fā)生泄漏累铅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一站叼、第九天 我趴在偏房一處隱蔽的房頂上張望娃兽。 院中可真熱鬧,春花似錦尽楔、人聲如沸投储。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玛荞。三九已至,卻和暖如春呕寝,著一層夾襖步出監(jiān)牢的瞬間勋眯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工下梢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留客蹋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓孽江,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闽巩。 傳聞我的和親對象是個(gè)殘疾皇子崭歧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 面試 Django REST framework 框架是一個(gè)用于構(gòu)建Web API 的強(qiáng)大而又靈活的工具绒尊。 通常簡...
    C丶y_04a7閱讀 445評論 0 0
  • MySQL中查詢所有數(shù)據(jù)庫名和表名 查詢所有數(shù)據(jù)庫 showdatabases; 查詢指定數(shù)據(jù)庫中所有表名 sel...
    匆匆數(shù)年_a8b7閱讀 115評論 0 0
  • Mac鍵盤符號和修飾鍵說明? Command? Shift? Option? Control?? Return/E...
    iOS打怪升級閱讀 471評論 0 0
  • Day2-E戰(zhàn)到底訓(xùn)練營-效率加倍的快捷鍵(2019-11-04) 一瘟裸、快捷鍵共82個(gè)快捷鍵:ctrl+ 45個(gè)...
    天天_5274閱讀 425評論 0 1
  • 2018年5月30日 星期三 晴 【早睡早起】昨晚22:20,今早4:34起床。 【學(xué)習(xí)】育心麗謙YY語音頻道親子...
    簡單天使閱讀 332評論 0 1