主頁 >  其他 > 測驗總復習

測驗總復習

2021-09-12 12:35:21 其他

目錄

    • 答疑
      • 測驗
      • 測驗和開發的區別
        • 除錯和測驗
        • 技術
    • 概念
      • 需求
      • BUG
      • 測驗用例
      • 開發模型
      • 軟體測驗模型
    • 基礎
      • 軟體測驗流程(軟體測驗生命周期)
      • 如何描述一個 BUG
      • BUG 級別
      • BUG 的生命周期
    • 用例
      • 測驗用例設計方法
        • 等價類
        • 邊界值
        • 因果圖
        • 場景法
        • 錯誤猜測法
        • 正交法
    • 進階
      • 按照開發階段劃分
        • 單元測驗
        • 集成測驗
        • 冒煙測驗
        • 系統測驗
        • 回歸測驗
        • 驗收測驗
      • 按實施組織劃分
        • α測驗
        • β測驗
      • 按照是否手工劃分
        • 手工測驗
        • 自動化測驗
      • 是否運行代碼
        • 靜態測驗
        • 動態測驗
      • 按是否查看代碼劃分
        • 黑盒測驗(unittest)
        • 白盒測驗(Junit)
      • 按照測驗物件劃分
        • 業務測驗
        • 界面測驗
        • 容錯性測驗
        • 易用性測驗
        • 兼容性
        • 檔案測驗
        • 性能測驗
        • 安全性測驗
        • 記憶體泄漏測驗
    • 自動化測驗(selenium)
      • webdriver 基本使用
        • 定位元素的方式
        • 等待
        • 得到瀏覽器標題和 URL
        • 瀏覽器視窗大小
        • 前進后退
        • 鍵盤
        • 滑鼠
        • 多選 (CheckBox)
        • 下拉框
        • 彈出框
        • 上傳檔案
        • 層級框架
      • unittest 框架
        • 測驗韌體
        • 測驗套件
        • 忽略測驗用例執行
        • 斷言
        • 截圖
        • HTML
        • 資料驅動

答疑

測驗

概念:驗證軟體是否滿足用戶需求

測驗和開發的區別

除錯和測驗

  1. 目的
    測驗:檢查軟體是否實作了應該實作的功能;
    除錯:是程式員檢查軟體是否實作了該代碼應該實作的功能,

  2. 角色
    開發:程式員
    測驗:測驗人員和開發人員

  3. 階段
    開發:只在開發階段除錯
    測驗:在軟體開發的整個生命周期

技術

測驗:技術要求廣,但是深度低一些,要求使用各種工具和懂一些語言
開發:技術要求專一,深度高

為什么選擇軟體測驗

  1. 興趣
  2. 技能
  3. 抗壓能力
  4. 責任感
    為什么不做開發,而做測驗
    學習了開發知識 ==> 了解到軟體測驗 ==> 感興趣 ==> 學習開發更好地進行測驗

概念

需求

概念:滿足用戶需求或正式檔案所需的權限和技能

測驗人員在需求階段就介入了測驗

用戶需求:用戶想干什么,吃紅燒肉
軟體需求:做紅燒肉需要干什么?買肉、買佐料等

BUG

概念:當且僅當規格說明存在且合理的情況下,軟體的功能和需求規格說明不符合,說明是軟體錯誤;
當軟體規格說明不存在,用戶需求合理,軟體功能和需求規格不相符,說明軟體錯誤,

也就是說,不管規格說明存在與否,只要用戶需求合理,但是軟體功能和需求規格說明不符合,則是 bug

測驗用例

概念:向測驗系統發起的一組集合;包含:測驗環境、測驗步驟、測驗資料、預期結果、標題、測驗功能模塊、優先級、重要性等,

開發模型

瀑布模型
在這里插入圖片描述

螺旋模型
在這里插入圖片描述

迭代、增量模型

在這里插入圖片描述

敏捷模型

在這里插入圖片描述

角色:產品經理(PO)、專案經理(SM)、研發團隊(ST)
產品發布會議 ==> 迭代計劃會議 ==> 開發期間每日站會 ==> 演示會議 ==> 回顧會議

軟體測驗模型

測驗人員什么時候開始介入測驗的?

  • W 模型中,在需求分析時介入;
    缺點:串行執行,不支持敏捷開發;
    V 模型中,在編碼后介入,
    缺點:無法在需求階段介入
    在這里插入圖片描述

基礎

軟體測驗流程(軟體測驗生命周期)

需求分析 ==> 測驗計劃 ==> 測驗設計 / 開發 ==> 測驗執行 ==> 測驗報告

如何描述一個 BUG

測驗版本(系統版本) + 測驗環境(瀏覽器版本等) + 測驗步驟 + 測驗資料 + 預期結果 + 實際結果 + 附件(錯誤截圖、錯誤日志)

BUG 級別

崩潰
嚴重
一般
建議

系統新功能上線,發現用戶在使用某一個功能時崩潰了,且無法修復,這個時候測驗人員如何處理?

  1. 回退版本(系統穩定的版本)
  2. 抓緊實作修復問題

BUG 的生命周期

開發人員修復一個 BUG 后,測驗的時候任然發現 BUG 存在,可能的原因

  1. 開發檢查,修復代碼后是否提交新代碼;
  2. 測驗人員沒有重新提取測驗環境的代碼;
  3. 確實是開發人員沒有修改成功,

如何處理測驗人員和開發人員因為 BUG 產生沖突怎么辦?

  1. 檢查自身 BUG 描述是否清楚,BUG 檢查是否正確;
  2. 站在用戶的角度去說服開發人員;
  3. BUG 的定級有理有據,不要夸大其詞;
  4. 測驗人員不斷提高自己的水平,能夠發現 BUG 及其產生的原因,還有解決方案;
  5. 開三方會議(產品經理、開發人員、測驗人員)一起討論 BUG 解決方案,

用例

設計測驗用例依據
根據需求來設計測驗用例
分析需求、細化需求、從需求中提取功能點 / 測驗點,然后再用設計測驗的具體方法設計測驗用例;

黑盒測驗設計測用例方法
等價類、邊界值、因果圖、場景設計法、錯誤猜測法、正交法

測驗用例設計方法

等價類

概念:把輸入(特殊情況才考慮輸出)劃分成若干個等價類,從每一個等價類當中選取一個測驗用例進行測驗,如果這個測驗用例通過,就說明這個測驗用例代表的等價類測驗通過,

使用情況:測驗用例太多無法窮舉

有效等價類:對該功能輸入有意義的輸入(輸入合法的用戶名)

無效等價類:對該功能輸入無意義的輸入(輸入不合法的用戶名)

邊界值

概念:針對輸入的邊界進行測驗用例的設計

因果圖

使用情況:輸入有多個條件,并且輸入不同組合對應著不同輸入
邏輯關系:與 或 非 恒等
使用步驟:分析可能的輸入和輸出 ==> 找出輸入與輸出之間的優惠 ==> 畫出因果圖 ==> 將因果圖畫出判定表 ==> 根據判定表寫測驗用例

  1. 分析可能的輸入輸出
    輸入:訂單提交、金額大于 300、有紅包
    輸出:有優惠、無優惠

  2. 找出輸入與輸出之間的優惠
    在這里插入圖片描述

  3. 畫因果圖
    在這里插入圖片描述

  4. 畫判定表:有 3 個輸入,2 個輸出,對應的列數 2^3 = 8
    在這里插入圖片描述

場景法

概念:把系統中一個一個孤立的功能點按照一定的邏輯組合起來,形成一個場景 / 業務,針對場景進行測驗

首先確定場景中的每一個功能點,確定功能點可能的輸入和不同的輸出

錯誤猜測法

概念:根據測驗人員的直覺、經驗、知識去判斷系統某一模塊的問題,有針對性的設計測驗用例

正交法

概念:研究多因素(不同的輸入)多水平(不同輸入不同的取值)的一種測驗用例設計方法,根據正交性,選出最優的輸入組合進行試驗,分析試驗結果,用結果衡量整體試驗的結果

TCP 和 UDP 協議怎么測驗?
分別分析 TCP 與 UDP 的作用以及特點

  • TCP
    作用:傳輸資料
    特點:可靠(是否收到 ACK),三次握手(根據三次握手每次發送的信號不同進行測驗),資料流,四次揮手等

  • UDP
    作用:傳輸資料
    特點:資料報、不可靠、速度快,

進階

按照開發階段劃分

單元測驗

分類:Junit 單元測驗框架(白盒)、unittest 單元測驗框架(黑盒)
依據:詳細設計檔案

集成測驗

概念:集成測驗也稱聯合測驗(聯調)、組裝測驗,將程式模塊采用適當的集成策略組裝起來,對系統的介面及集成后的功能進行正確性檢測的測驗作業,集成主要目的是檢查軟體單位之間的介面是否正確,
測驗方法:白盒測驗

冒煙測驗

冒煙測驗的物件是每一個新編譯的需要正式測驗的軟體版本,目的是確認軟體基本功能正常,可以進行后續的正式測驗作業,也就是系統測驗,冒煙測驗的執行者是版本編譯人員,

系統測驗

將軟體系統看成是一個系統的測驗,包括對功能、性能以及軟體所運行的軟硬體環境進行測驗,時間大部分在系統測驗執行階段,包括回歸測驗和冒煙測驗,
測驗方法:黑盒測驗

回歸測驗

概念:查看新引入的代碼對舊的功能是否有影響

驗收測驗

驗收測驗是部署軟體之前的最后一個測驗操作,它是技術測驗的最后一個階段,也稱為交付測驗,驗收測驗的目的是確保軟體準備就緒,按照專案合同、任務書、雙方約定的驗收依據檔案,向軟體購買都展示該軟體系統滿足原始
需求,

按實施組織劃分

α測驗

非測驗、非開發人員進行測驗

β測驗

真實用戶不分時間地點進行測驗(內測)

按照是否手工劃分

手工測驗

手工測驗就是由人去一個一個的輸入用例,然后觀察結果,和機器測驗相對應,屬于比較原始但是必須的一個,

優點:自動化無法替代探索性測驗、發散思維結果的測驗,
缺點:執行效率慢,量大易錯,

自動化測驗

撰寫自動化腳本,把設計的測驗用例進行測驗

自動化測驗無法代替手工測驗

是否運行代碼

靜態測驗

不運行代碼,分析代碼進行測驗

動態測驗

運行代碼,檢查預期結果與實際結果的異同分析差異、運行效率、正確性等

按是否查看代碼劃分

黑盒測驗(unittest)

把軟體看成一個黑色盒子,不關心軟體內部代碼的邏輯結構實作,只關心輸入輸出

白盒測驗(Junit)

測驗程式的內部邏輯、結構的實作,是否實作了相應的功能

測驗方法:陳述句覆寫、邏輯覆寫(判定覆寫 / 條件覆寫 / 判定組合 / 條件組合 / 判定和條件組合) 、路徑覆寫(if / else / try / catch)、回圈覆寫(for / while)

按照測驗物件劃分

業務測驗

概念:是測驗人員把系統各個模塊串接起來運行、模擬真實用戶實際的作業流程,滿足用戶需求定義的功能來進行測驗的
程序,

界面測驗

  1. 布局排盤
  2. 字體大小、粗細等
  3. 圖片是否清晰
  4. 頁面的控制元件(按鈕、滾動條、CheckBox 等)

容錯性測驗

概念:當系統由于外界原因發生例外時,能自我處理,不把例外直接展現給用戶,給用戶一個友好的提示

易用性測驗

易用性(Useability)是互動的適應性、功能性和有效性的集中體現,易用性屬于人體工程學的范疇,人體工程學(ergonomics)是一門將日常使用的東西設計為易于使用和實用性強的學科

兼容性

兼容性主要是指軟體之間能否很好的運做,會不會有影響、軟體和硬體之間能否發揮很好的效率作業,會不會影響導致系統的崩潰,

檔案測驗

在實際的測驗中,最常見的是用戶檔案的測驗,例如:手冊說明書等,也會有一些公司對需求檔案進行測驗,來保證需求檔案的質量,

性能測驗

檢查系統是否滿足需求規格說明書中規定的性能,

安全性測驗

安全測驗是一個相對獨立的領域,需要更多的專業知識,例如web的安全測驗,需要熟悉各種網路協議
TCP\HTTP,防火墻,CDN,熟悉各種作業系統的漏洞,熟悉路由器等,從軟體來說,熟悉各種攻擊手段,例如 SQL 注入、Xss 等,

記憶體泄漏測驗

用戶在分配了記憶體空間,沒有回收,導致占用的記憶體越來越多,

自動化測驗(selenium)

webdriver 基本使用

定位元素的方式

# 用 id 定位
輸入框 id = kw  發送 張嘉文 到輸入框
driver.find_element_by_id("kw").send_keys("張嘉文")
# 百度一下(提交搜索) click 點擊
driver.find_element_by_id("su").click()

# 用 name 定位
driver.find_element_by_name("wd").send_keys("張嘉文")
driver.find_element_by_id("su").click()

# class name 定位
driver.find_element_by_class_name("s_ipt").send_keys("張嘉文")
driver.find_element_by_class_name("bg s_btn").click()

# link text 定位
driver.find_element_by_link_text("貼吧").click()

# partial 定位
driver.find_element_by_partial_link_text("吧").click()

# tag name 定位
driver.find_element_by_tag_name("")

# xpath 定位
driver.find_element_by_xpath("//*[@id='kw']").send_keys("張嘉文")
driver.find_element_by_xpath("//*[@id='su']").click()

# css selector
driver.find_element_by_css_selector("#kw").send_keys("張嘉文")
driver.find_element_by_css_selector("#su").click()

等待

time.sleep(3)

driver.implicitly_wait(3)

異同
同:與 time.wait(10) 相同的是, 兩者如果等待 10s 都沒有找到下一個需要的元素, 那么就會拋出例外
異:time.sleep() 是固定等待;而 driver.implicotly_wait() 則是等到找到就繼續執行,而不是死等

得到瀏覽器標題和 URL

# 獲得標題
driver.title
# 獲得 URL
driver.current_url

瀏覽器視窗大小

# 設定瀏覽器視窗
driver.set_window_size(600,1000)
# 瀏覽器最大化
driver.maximize_window()

前進后退

# 前進
driver.forward()

# 后退
driver.back()

鍵盤

# 需要的包
from selenium.webdriver.common.keys import Keys

# 用法
driver.find_element_by_name("username").send_keys(Keys.CONTROL,'a')
driver.find_element_by_name("username").send_keys(Keys.CONTROL,'c')
driver.find_element_by_name("password").send_keys(Keys.ENTER)

滑鼠

# 需要的包
from selenium.webdriver.common.action_chains import ActionChains

# 右擊
name = driver.find_element_by_id("su")
ActionChains(driver).context_click(name).perform()

# 雙擊
ActionChains(driver).double_click(name1).perform()

多選 (CheckBox)

for input in inputs:
    if input.get_attribute('type') == 'checkbox':
        input.click()

下拉框

# 通過 css selector 定位
driver.find_element_by_css_selector("#ShippingMethod > option:nth-child(5)").click()

# 陣列下標
options[2].click()

彈出框

driver.switch_to.alert.accept()

上傳檔案

driver.find_element_by_tag_name("input").send_keys("F:\\圖片\\0.jpg")

層級框架

在這里插入圖片描述
從默認框架到 f2,需要先到 f1;
從 f2 到默認框架,也需要先到 f1;

unittest 框架

測驗韌體

from selenium import webdriver
import unittest
import time
import os
# unittest.TestCase 的作用:Unit 這個類繼承了 unittest.TestCase
class Unit(unittest.TestCase):

    def setUp(self):
        print("run setUp")
        self.driver = webdriver.Chrome()
        self.url = "https://www.baidu.com/"
        self.driver.maximize_window()

    def tearDown(self):
        print("run tearDown")
        self.driver.quit()
        
if __name__=="__main__":
    unittest.main()

測驗套件

from Test import unitDemo
from Test import unitDemo1
import unittest

def createsuite():
    # addTest 每次把一個測驗腳本的一個測驗用例加載到測驗套件
    suite = unittest.TestSuite()
    suite.addTest(unitDemo.Unit("test_Abaidu"))
    suite.addTest(unitDemo.Unit("test_abaidu"))

    suite.addTest(unitDemo1.Unit("test_cbaidu"))
    suite.addTest(unitDemo1.Unit("test_Dbaidu"))

def createsuite1():

    # 把一個測驗腳本中的所有測驗用例加載進入套件
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(unitDemo.Unit))
    suite.addTest(unittest.makeSuite(unitDemo1.Unit))

    return suite

def createsuite2():
    # TestLoader
    # 把一個測驗腳本中的所有測驗用例加載進入套件
    suite1 = unittest.TestLoader().loadTestsFromTestCase(unitDemo.Unit)
    suite2 = unittest.TestLoader().loadTestsFromTestCase(unitDemo1.Unit)
    suite = unittest.TestSuite([suite1, suite2])

    return suite

def createsutie3():
    # 把一個檔案夾下所有以某種形式命名的測驗腳本全部加入到測驗套件
    discover = unittest.defaultTestLoader.discover("../Test", pattern="unitDemo*.py",top_level_dir=None)

    return discover

if __name__=="__main__":
    suite = createsuite1()
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(suite)

忽略測驗用例執行

@unittest.skip("skipping")
# 注解:忽略測驗用例執行
def test_abaidu(self):
	driver = self.driver
	url = "https://www.baidu.com/"
	self.driver.get(url)
	driver.find_element_by_id("kw").send_keys("豬頭")
	driver.find_element_by_id("su").click()
	time.sleep(3)
	title = driver.title
	try:
	    self.assertEqual("豬頭_百度一下", title, msg="不相等")
	except:
	    self.saveScreenShot(self,driver,"豬頭.png")
   time.sleep(3)

斷言

作用:判斷預期結果與實際結果是否一致

# 斷言
    def test_abaidu(self):
        driver = self.driver
        url = "https://www.baidu.com/"
        self.driver.get(url)
        driver.find_element_by_id("kw").send_keys("豬頭")
        driver.find_element_by_id("su").click()
        time.sleep(3)
        title = driver.title
        try:
            self.assertEqual("豬頭_百度一下", title, msg="不相等")
        except:
            self.saveScreenShot(self,driver,"豬頭.png")
        time.sleep(3)

截圖

    # 運行順序 0-9 A-Z a-z
    # 截圖
    def test_Abaidu(self):
        driver = self.driver
        url = self.url
        driver.get(url)
        driver.find_element_by_id("kw").send_keys("是你")
        driver.find_element_by_id("su").click()
        time.sleep(3)
        title = driver.title
        print(title)

        try:
            self.assertEqual("123是你_百度一下",title,msg="不相等")
        except:
            self.saveScreenShot(driver,"是你.png")
        time.sleep(3)

HTML

作用:所有結果輸出到 HTML 報告中

import os
import sys
import time
import unittest
import HTMLTestRunner
def createsuite():
    discovers = unittest.defaultTestLoader.discover("../Test", pattern="unitDemo*.py", top_level_dir=None)
    print(discovers)
    return discovers

if __name__=="__main__":
    #1,創建一個檔案夾
    # 當前的路徑
    curpath = sys.path[0]
    # sys.path 是一個路徑集合陣列
    print(sys.path)
    print(sys.path[0])
    # 當前路徑下resultreport檔案夾不存在的時候,就創建一個
    if not os.path.exists(curpath+'/resultreport'):
        os.makedirs(curpath+'/resultreport')

    # 2,解決重復命名的問題
    now = time.strftime("%Y-%m-%d-%H %M %S", time.localtime(time.time()))
    print(time.time())
    print(time.localtime(time.time()))
    # 檔案名是路徑加上檔案的名稱
    # 準備HTML報告輸出的檔案
    filename = curpath + '/resultreport/'+ now + 'resultreport.html'
    # 打開 HTML 檔案, wb 以寫的方式
    with open(filename, 'wb') as fp:
        # 括號里的引數是 HTML 報告里面的引數
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"測驗報告",
                                               description=u"用例執行情況", verbosity=2)
        suite = createsuite()
        runner.run(suite)

資料驅動

安裝工具包:pip install ddt

from selenium import webdriver
import unittest
import time
from ddt import ddt, unpack, file_data, data
import sys, csv


def getTxt(file_name):

    # ([貓, 貓_百度搜索], [狗, 狗_百度搜索], [豬, 豬_百度搜索])
    rows = []
    path = sys.path[0]
    with open(path + '/data/' + file_name, 'rt',encoding='utf-8') as f:
        readers = csv.reader(f, delimiter=',', quotechar='|')
        next(readers, None)
        for row in readers:
            temprows=[]
            # 貓, 貓_百度搜索
            for i in row:
                temprows.append(i)
            rows.append(temprows)
        return rows


def getCsv():
    # 讀取 csv 檔案
    values = []
    with open('data/test_help_json.csv', encoding='utf-8') as f:
        f_scv = csv.reader(f)
        next(f_scv)
        for i in f_scv:
            values.append(i)
        return values


@ddt
class Baidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.baidu.com/"
        self.driver.maximize_window()
        self.verificationErrors=[]
        self.accept_next_alert=True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([],self.verificationErrors)

    # json 資料
    # 一次獲取一條
    @unittest.skip("skipping")
    @file_data('data/test_baidu_data.json')
    def test_baidu1(self, value):
        driver = self.driver
        driver.get(self.base_url+"/")
        driver.maximize_window()
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(value)
        driver.find_element_by_id("su").click()

        time.sleep(3)

    @unittest.skip("skipping")
    @data("貓","狗","豬","pig")
    # 使用 data 直接放入資料
    def test_baidu2(self, value):
        driver = self.driver
        driver.get(self.base_url+"/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(value)
        driver.find_element_by_id("su").click()
        self.assertEqual(value,driver.title,msg="不符合")
        time.sleep(3)


    @data(['豬',u'豬_百度百科'],['pig',u'pig_百度百科'])
    @unpack
    # 使用兩個引數需要加 unpack
    def test_baidu3(self, value, expected_value):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(value)
        driver.find_element_by_id("su").click()
        time.sleep(3)

        self.assertEqual(expected_value, driver.title, msg="與預期不符合")
        print(expected_value)
        print(driver.title)
        time.sleep(3)

	# 讀取 txt 文本
    @data(*getTxt('test_helpddt.txt'))
    @unpack
    def test_baidu4(self, value, expected_value):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(value)
        driver.find_element_by_id("su").click()
        time.sleep(3)

        self.assertEqual(expected_value, driver.title, msg="與預期不符合")
        print(expected_value)
        print(driver.title)
        time.sleep(3)
	
	# 讀取 json 檔案
    @data(*getCsv())
    @unpack
    def test_baidu5(self,value,expected_value):
        driver = self.driver
        driver.get(self.base_url+"/")
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(value)
        driver.find_element_by_id("su").click()
        self.assertEqual(value,expected_value,msg="不匹配")
        time.sleep(3)
if __name__=="__main__":
    unittest.main()

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

標籤:其他

上一篇:嵌入式系統工程化設計4

下一篇:軟體測驗介紹

標籤雲
其他(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)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more