B技術(shù)

測試分類
image.png
測試流程

產(chǎn)品提出需求后,開立項(xiàng)會進(jìn)行討論需求制定需求文檔,開發(fā)根據(jù)需求文檔進(jìn)行編碼,測試人員需要根據(jù)需求文檔進(jìn)行編寫測試計(jì)劃,以及對應(yīng)的測試用例編寫,用例編寫結(jié)束后,進(jìn)行用例評審,開發(fā)提交代碼后執(zhí)行冒煙測試,冒煙測試通過后執(zhí)行過程中出現(xiàn)bug進(jìn)行提交bug,并對bug進(jìn)行追蹤。bug關(guān)閉后我們做測試總結(jié),提交對應(yīng)的測試報告

測試需求點(diǎn)的提取

從功能、性能、安全性、用戶體驗(yàn)、兼容性方面考慮

測試計(jì)劃

包括:測試項(xiàng)目的背景、測試范圍、測試策略、測試環(huán)境、測試開始和結(jié)束條件、進(jìn)度安排、測試人員、測試風(fēng)險管理
由誰來寫:一般是由測試經(jīng)理或者測試組長來寫
目的:規(guī)范軟件測試內(nèi)容、方法和過程

測試用例

包括:用例編號、所屬模塊、用例名稱、用例級別、預(yù)置條件、測試步驟、期望結(jié)果、實(shí)際結(jié)果、執(zhí)行人、備注
寫測試用例的目的:
1、避免測試時,多測,漏測
2、驗(yàn)收時方便回歸測試
3、編寫的過程時,可以更加方便了解該項(xiàng)目的需求內(nèi)容
4、對于測試員工的進(jìn)度上級有一個了解,測試自身也可以對自己的進(jìn)度有一個了解
5、對于bug的發(fā)現(xiàn)更加方便,發(fā)現(xiàn)一個bug時,可以尋找類似用例發(fā)現(xiàn)是否有同樣的bug。
6、可以對于一個項(xiàng)目有更加合理的評價

怎么保證覆蓋用戶需求

項(xiàng)目開始前,我們會先熟悉需求,畫好流程圖,保證整個流程都覆蓋全面,小組之間每個人都要根據(jù)各自的流程圖,各個功能點(diǎn)有哪些限制條件,來講解一下自己對測試點(diǎn)的理解,防止之后編寫測試用例時出現(xiàn)遺漏;用例編寫完之后,再進(jìn)行用例的評審,看看測試點(diǎn)有沒有用遺漏,對需求理解有沒有錯誤,測試場景是否覆蓋完全。

bug管理工具 -- 禪道

用于查看bug和管理bug

缺陷報告組成

①缺陷編號
②缺陷標(biāo)題
③缺陷的發(fā)現(xiàn)者
④缺陷發(fā)現(xiàn)日期
⑤缺陷所屬的模塊
⑥發(fā)現(xiàn)缺陷的版本
⑦指派給誰處理
⑧缺陷的狀態(tài)

bug的狀態(tài)
英文 中文
No Test 未執(zhí)行狀態(tài)
Pass 通過狀態(tài)
Fail 失敗狀態(tài)
Block 阻礙狀態(tài)。
Investigate 觀察中狀態(tài)。
bug的定位 3種方式

①原始類(brute force)
②回溯類(backtracking)
③排除類(causeeliminations)

原始類定位方法是最常用也是最低效的方法,只有在萬般無奈的情況下才使用它,主要思想是“通過計(jì)算機(jī)找錯”。例如輸出存儲器、寄存器的內(nèi)容,在程序安排若干輸出語句等,憑借大量的現(xiàn)場信息,從中找到出錯的線索,雖然最終也能成功,但難免要耗費(fèi)大量的時間和精力。

回溯法能成功地用于程序的排錯。方法是從出現(xiàn)bug征兆處開始,人工地沿控制流程往回追蹤,直至發(fā)現(xiàn)出錯的根源,不幸的是程序變大后,可能的回溯路線顯著增加,以致人工進(jìn)行完全回溯到望而不可及。

排除法基于歸納和演繹原理,采用“分治”的概念,首先確定所有與bug出現(xiàn)有關(guān)的所有數(shù)據(jù),設(shè)想一個導(dǎo)致bug的原因,用這些數(shù)據(jù)證明或反駁它;或者一次列出所有可能的原因,通過測試一一排除。只要某次測試結(jié)果說明某種假設(shè)已呈現(xiàn)倪端,則立即精化數(shù)據(jù),乘勝追擊。

開發(fā)不認(rèn)為是bug的時候
  1. 先跟開發(fā)溝通,確認(rèn)系統(tǒng)的實(shí)際結(jié)果是不是和需求有不一致的地方;有些地方可能需求沒提及,但是用戶體檢不好,我們也可以認(rèn)為是bug。
  2. 如果開發(fā)以不影響用戶使用為理由,拒絕修改,我們可以和產(chǎn)品經(jīng)理,測試經(jīng)理等人員進(jìn)行討論,確定是否要修改,如果大家都一致認(rèn)為不用改,就不改。
mysql 左右鏈接 子查詢

子查詢:select * from student1 where id = (select id from student2)
其中select * from student1 where id = 是外查詢
select id from student2是子查詢
所以。我們說子查詢是嵌套在外查詢內(nèi)部。而其實(shí)它有可能在子查詢內(nèi)部再嵌套子查詢。子查詢必須出如今圓括號之間。
left join
reight join
左連接是以左表為主,右連接是以右表為主

數(shù)據(jù)庫的事務(wù)

原子性、一致性、隔離性、持久性

接口測試 postman
如何做接口測試的

1,首先要看有沒有接口文檔,如果有文檔的時候按接口文檔去做,沒有的話就去抓包。
2,我們一般使用postman以及jemter.
3,沒有接口文檔的情況下,要先創(chuàng)建一個線程組,指定并發(fā)的線程數(shù)量,在指定測試的接口,創(chuàng)建相應(yīng)的監(jiān)聽器,(如,表格結(jié)果,結(jié)果樹,以及聚合報告信息)通過監(jiān)聽器來進(jìn)行監(jiān)聽測試是否通過以及接口存在什么問題。

性能指標(biāo)

吞吐率:我們一般使用單位時間內(nèi)服務(wù)器處理的請求數(shù)來描述其并發(fā)處理能力。稱之為吞吐率(Throughput),單位是 “req/s”。吞吐率特指Web服務(wù)器單位時間內(nèi)處理的請求數(shù)。

用戶的響應(yīng)時間:指的是客戶發(fā)出請求到得到響應(yīng)的整個過程的時間。在某些工具中,請求響應(yīng)時間通常會被稱為“TTLB”(Time to laster byte) ,意思是從發(fā)起一個請求開始,到客戶端收到最后一個字節(jié)的響應(yīng)所耗費(fèi)的時間。

每秒點(diǎn)擊數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù)。

資源利用率:
指用戶進(jìn)程與系統(tǒng)進(jìn)程消耗的CPU時間百分比,長時間情況下,一般可接受上限不超過85%。
內(nèi)存利用率=(1-空閑內(nèi)存/總內(nèi)存大小)*100%,一般至少有10%可用內(nèi)存,內(nèi)存使用率可接受上限為85%。

業(yè)務(wù)成功率:
性能測試中,定義事務(wù)用于度量一個或者多個業(yè)務(wù)流程的性能指標(biāo),如用戶登錄、保存訂單、提交訂單操作均可定義為事務(wù),如下圖所示:

image

單位時間內(nèi)系統(tǒng)可以成功完成多少個定義的事務(wù),在一定程度上反應(yīng)了系統(tǒng)的處理能力,一般以事務(wù)成功率來度量,計(jì)算公式如下所示:

Tps:一個系統(tǒng)的吞度量(承壓能力)與request對CPU的消耗、外部接口、IO等等緊密關(guān)聯(lián)。
單個reqeust 對CPU消耗越高,外部系統(tǒng)接口、IO影響速度越慢,系統(tǒng)吞吐能力越低,反之越高。系統(tǒng)吞吐量幾個重要參數(shù):QPS(TPS)、并發(fā)數(shù)、響應(yīng)時間

web測試和app測試的區(qū)別

1.App的安裝卸載:全新安裝,升級安裝,第三方工具安裝,第三方工具卸載,直接卸載刪除,消息推送測試,手機(jī)授權(quán)測試,前后臺切換,網(wǎng)絡(luò)環(huán)境(wifi/2G/3G/4G/無網(wǎng)絡(luò))。
2.App的中斷測試:來電中斷,短信中斷,藍(lán)牙,鬧鐘,拔插數(shù)據(jù)線,手機(jī)鎖定,手機(jī)斷電,手機(jī)問題(系統(tǒng)死機(jī)重啟)。
3.兼容性測試:Web項(xiàng)目考慮不同瀏覽器的兼容,app需要考慮手機(jī)不同的操作系統(tǒng),不同機(jī)型,不同屏幕等。
4.網(wǎng)路測試:不同網(wǎng)絡(luò)與運(yùn)營商,目前我國有三大運(yùn)營商如:電信,移動,聯(lián)通,不同的網(wǎng)絡(luò)制式,如:GSM,CDMA,3G等,在不好或無網(wǎng)絡(luò)的情況下的APP行為。
5.操作系統(tǒng):大量的設(shè)備,各種的操作系統(tǒng),目前使用最多的操作系統(tǒng)有:
Android,ios,windows,blackberry等,它們之間的應(yīng)用軟件互不兼容。

perfdog:app做性能測試的工具,界面非常簡單,可以生成測試報告

穩(wěn)定性測試 monkey命令
關(guān)聯(lián)pc端和app的 ADB
image.png
項(xiàng)目版本管理工具 git/SVN
web自動化 python+slenium+unittest+htmlTestrunner+excel

下載瀏覽器對應(yīng)的驅(qū)動,離自己版本最近的:https://blog.csdn.net/qq_37489565/article/details/89020200
自己寫的自動化腳本:http://m.itdecent.cn/p/ba1d886f90cf 沒有封裝的

app自動化 python+appnium+unittest+htmlTestrunner+excel
# 查看當(dāng)前包名以及activity的名字
# adb shell "dumpsys activity |grep Focuse     低版本
# adb shell dumpsys window | findstr mCurrentFocus    高版本
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1.1'  #安卓版本號
desired_caps['deviceName'] = '127.0.0.1:5554'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'  #自動進(jìn)入的頁面
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print(driver)
#這個步驟可以連接到手機(jī),界面元素定位方式和web一致
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容