這樣的軟件測試面試題,誰面試遇到誰淘汰!!!

88
11.6 自動化測試用例的來源
手工編寫測試用例
把原來手工的測試用例,當成自動化測試用例
11.7 自動化測試的優點與缺點
優點:
1、對程序的回歸測試更方便
2、可以運行更多更繁瑣的測試
3、提高測試效率和準確性,節約時間成本
4、可以執行一些手工測試困難或不可能進行的測試(例如,對于大量用戶的測試,可以通過自動化測
試模擬同時有許多用戶,從而達到測試的目的)
5、自動化測試不存在執行過程中的疏忽和錯誤,從而增加軟件信任度
缺點:
1、不能取代手工測試
2、手工測試比自動測試發現的缺陷更多
3、對測試質量的依賴性極大
4、由于自動測試比手動測試更胞弱,所以維護會受到制,從而會制約軟件的開發
5、工具本身無想像力
11.8 你們自動化覆蓋率有多少?
2 年以內,把原來手工做的事情 30%用自動化腳本去替代
2 年以上,實現 40-70%
當時覆蓋的確實也不是很多,差不多 30-40%的樣式吧
11.9 自動化測試環境的搭建是怎樣的?
1、首先要安裝 Python
2、然后安裝編寫代碼工具 pycharm
3、導入 selenium 庫(pip install seleniun 在 pycharm 安裝 selenium3 下載源碼包
4、下載瀏覽器驅動(谷歌.火狐等),把驅動程序發到 Python 根目錄下
11.10 seleniun 的原理是什么?
我們用的 selenium3x 以上的版本,對于 selenium2x 以上的版本原理是這樣的:
Selenium2.0 則是把 selenium1.0 中 selenium RC 替換為了 WebDriver
WebDriver 利用瀏覽器原生的 API,封裝成一套更加面向對象的 SeleniumWeb Driver API

89
直接操作瀏覽器頁面里的元素,甚至操作瀏器本身(截屏,回口大小,啟動,關閉,安裝插件,配置
證書之類的),由于使用的是瀏覽器原生的 API 速度大大提高,而且調用的穩定性交給了瀏覽器廠商
本身,顯然是更加科學,然而帶來的一些副作用就是,不同的瀏器廠商,對 Web 元素的操作和呈現多
少會有一些差異,這就直接導致了 SeleniumWebDriver 要分瀏覽器廠商不同,而提供不同的實現,例
如 Firefox 就有專門的 FirefoxDriver,
Chrome 就有專門的 ChromeDriver 等等
11.11 Selenium2 與 Selenium1 的區別是什么?
Selenium1.0 使用的是 Javascript 注入技術與瀏覽器打交道,需要 Selenium 啟動一個 Server,將
操作 Web 元素的 AP 調用轉化為一段段 Javascript,在 Selenium 內核啟動瀏覽器之后注入這段
Javascript,開發過 Web 應用的人都知道, Javascript 可以獲取并調用頁面的任何元素,自如的進
行操作,由此才實現了 Selenium 的目的:自動化 Web 操作,這種 Javascript 注入技術的缺點是速度
不理想,而且穩定性大大依賴于 Selenium 內核,對 API 翻譯成的 Javascript 質量高低
Selenium2.0 則是把 selenium1.0 中 selenium RC 替換為了 Web Driver
WebDriver 利用瀏覽器原生的 API,封裝成一套更加面向對象的 SeleniumWebDriverAPI
直接操作瀏覽器頁面里的元素,甚至操作瀏覽器本身(截屏,窗口大小,啟動,關閉,安裝播件,配
置證書之類的),由于使用的是瀏覽器原生的 AP,速度大大提高,而且調用的穩定性交給了瀏覽器廠
商本身,顯然是更加科學,然而帶來的一些副作用就是,不同的瀏覽器廠商,對 Web 元素的操作和呈
現多少會有一些差異,這就直接導致了 SeleniumWebDriver 要分瀏覽器廠商不同,而提供不同的實現
例 Firefox 就有專門的 Firefox Driver,
Chrome 就有專門的 ChromeDriver 等等
11.12 seleniun 庫中用過哪些函數?
driver = Web Driver ChromeO
driver.quit() #退出瀏覽器
driver.closed() #關閉窗口
driver.implicitly_wait() #設置隱性等待延遲
driver.current_url #獲取當前的 URL
driver.page_source #獲取當前頁面的源代碼
driver.title #獲取當前頁面的標題
driver.maximize_window() #窗口最大化
driver.get() #加載一個網頁
元素定位的:

90
driver.find_element_by_id()
driver.find_element(By.xxx,’’)
frame 跳轉的:
driver.switch_to.frame()
driver.switch_to.parents_frame()
driver.switch_to.default_content()
窗口跳轉:
driver.switch_to.window()
對話框的處理:
Driver_switch_to.alert
.accepto
.dismiss
.text
.send_keys()
執行 js 腳本的:
driver.execute_script(js)
Element 類:
element.click()
element.submit()
element.send_keys()
element.clear()
element.text
element.get_attribute()
element.is_displayed()
element.find_element_by_xpath()
11.13 定位元素的 8 個方法是什么?
1、通過 id 定位
find_element_by_id()
2、通過 name 定位
find_element_by_name()
3、通過 class name 定位

91
find_element_by_class_name()
4、通過 css 定位
find_element_by_css_selector()
5、通過 link 定位
find_element_by_link_text(‘文本’)沒有空格一般 a 鏈接
6、通過 partial_link 定位
find_element_by_partial_link_text(部分文本)--般有空格 a 鏈接
7、通過 xpath 定位
find_element_by_xpath()
8、通過 tag_name 定位
find_element_by_tag_name()
11.14 js 定位的 5 個方法
js 用到 css 定位
1. driver.execute_script("document.getElenmentByld().value='';")
2. driver.execute_script("document.getElenmentByName().value='';")
3. driver.execute_script("document.getElenmentsByClassName()[0].value='';")
4. driver.execute_script("document.getElenmentsByTagName()[0].value='';")
11.15 jQuery 定位的方法
1. driver.execute_script("$(#id 定位值)vaC")")-輸入值 a()處也可以用 cick()表示點擊
2. driver.execute_script("$(name=name 定位值 va(")輸入值
3. driver.execute_script("$(cas 定位值)va()")輸入值
4. driver.execute_script("$((class=]").val().)
5. driver. execute script ("SCIvalue= ]").val()")
11.16 css 定位的方法?
#通過樣式 #id 樣式, .cass 樣式為多
1. find_element_by_css_selector("#id")
2. find_element_by_css_selector(".classname 定位值")
#通過元素屬性
3. find_element_by_css_selector("[name=name 定位值]")
Find_element_by_css_selector("[class=定位值]")

92
#樣式,屬性結合
find
_element_by_css_selector(div#fanwe_msg_box>table>tbody>tr>td:nth-child(2)>div(@class='d
ialog-content'))
5.父子元素定位
Find_element_by_css_selector(div#fanwe msg box> table>tbody>tr> td:nth-child(2)
>div:nth-child(2))
11.17 xpath 定位的方法? xpath 怎么寫?
Xpath 寫法://*div[@id=’u1’]/a[7] #相對路徑
Xpath 寫法:/html/boy/div[1l/div/div/divl3/a[7 #絕對路徑
#先找父元素,結合屬性
Find_element_by_xpath(//div(@id=u1"/a[@name=tj_login])
11.18 如何去定位下拉框
1、首先要導入一個包: from selenium.webdriver.support.select import Select
2、先給下拉框元素定位定義一個變量:a= diver.find_element_by_css_selector()
3、再通過根據下拉框的 value\visible_text\index 去選擇值
Select(a).select_by_value('')--根據下拉框的 vaue 值去選取值
Select(a).select_by_visible_text('')--根據下拉框的內容去選值
Select(a).select_by_index('')--根據下拉框的下標去選。從 0 開始
11.19 如何去定位內嵌界面
1、定位元素的時候看到 fame 的需要進入內嵌
2、如果有內嵌有 id 或 name 值時直接進入內嵌 driver.switch_to.frame(id 值或 name 值)
3、如果內嵌沒有 id 或 name 值,先定義一個內嵌再進入:
a=driver.find_element_by_class_name(‘’)
driver.switch_to.frame(a)
4、如果有多層內嵌,要一層一層進入
5、記得退出內嵌: driver.switch_to_default_content()
6、driver.switch_to.parent_frame()---進入父級內嵌,調至上一級內嵌
11.20 如何在不同的網頁之間切換
1.首先要獲取多個界面的句柄

93
先通過定位元素幾個界面: driver.find_element_by_id().click 或者其他,獲取一個界面打印一個:
print (diver.window_handles)
然后獲取幾個界面的句柄,定義成一個變量:window_list= diver.window_handles()---以列表形式
存在
2.通過界面句柄的下標進入不同的界面: driver.switch_to_window(window_list[O])
通過界面句柄的下標進入不同的界面,0 表示第一個,下標-1 代表最新的界面
注意:如果進入一個界面里面是內嵌,記得退出內嵌再進入另一個界面
11.21 如何去定位滾動條?滾動條怎么處理?
一般當我們西面上的元素超過一屏后,想操作屏幕下方的元素,是不能直接操作的,會報元素不可見
異常的。這時候需要借助滾動條來拖動屏幕,使被操作的元素顯示在當前的屏幕上,selenium 提供
了一個操作 js 的方法: execute.script(),可以直接執行 js 的腳本,
滾動到底部:
Js='var q=document.getElementByld('id')scrollTop=10000'
Driver.execute_script(js)
滾動到頂部:
js='var q=document.documentElementscrollTop=0'
driver.execute_script(js)
#把滾動條拉到指定位置
雖然用上面的方法可以解決拖動滾動條的位置問題,但是有時候無法確定我需要操作的元素在什么位
置,有可能每次打開的頁面不一樣,元素所在的位置也不一樣,這個時候我們可以先讓頁面直接跳到
元素出現的位置,然后就可以操作了。
Target_element = driver.find_element_by_xpath(‘//*[@id="4"]/h3/a’)
Driver.execute_script("arguments[O].scrollIntoView();",target_element)
11.22 如何去模擬鍵盤與鼠標的操作?
模擬鍵盤:
1、要導入一個包 rom selenium. wedriver common keys import Keys
2、快捷鍵輸入,通過 send_keys()方法可以來模擬鍵盤輸入操作。
Send_keys(Keys.CONTROL,'a’) 全選(Ctrl+A)
Send_keys(Keys.CONTROL,'C') 復制(Ctrl+C)
Send_keys(Keys.CONTROL,’X’) 剪切(Ct+X)
Sen_ keys(Keys.CONTROL,’V’) 粘貼(Ctr+V)

94
Send_keys(Keys.ENTER) 回車鍵
Send_keys(Keys.BACK_SPACE) 刪除鍵
Send_keys(Keys.SPACE) 空格鍵
Send_keys(Keys.TAB) 制表鍵
Send_keys(Keys.ESCAPE) 回退鍵
模擬鼠標:
語法: ActionChains(diver).鼠標操作動作操作的元素. Perform()
鼠標操作動作有:click()單擊、 context_click()右擊、 double_click()雙擊、
Move_to_element()鼠標懸停
1.先導入一個鼠標的包:from selenium.webdriver.common.action_chains import Action Chains
2.然后定位元素: driver.find_element_by_xpath()可以定義為一個變量 aa
3.然后通過語法執行:Action Chains(driver).move_to_element(aa).perform()
11.23、如何去處理上傳 Windows 文件?
1.可直接賦值 send_keys 輸入圖片的地址
其實上傳文件的按鈕就是一個 input 元素,只是它的 type 類型是 file 類型,
我們在處理這種上傳文件的按鈕的時候,可以直接通過普通定位方式去定位它,
再利用 send_keys 方法去輸入圖片的地址就可以了。
Load_file_element=driver.find_element_by_xpath(‘/html/body/div(8l/div(1)/div(2/div/div
[3]/form/div/div/div/inpu’)
2.需要用到一個工具,Autolt 工具
幫助我們識 Windows 控件信息利用 Autolt 生成一個操作 Windows 對話框的 exe 執行文件
然后在 python 代碼中去調用這個可執行文件
這里需要用到 os 模塊,利用 os.system 去執行 windows 的 exe 文件,
把 exe 文件的路徑傳入,并傳入需要上傳的圖片的路徑即可
Drver.fnd_ement_by_xpath(‘html/body/divoiv1/dw2]/div/div3form/dvd/di)cick()#點擊瀏覽
time.sleep(1)
ossystem(C:\Users\\Administrator\\ Desktop\\AA.exe D:\\QQ.png)
11.24 如何去定位時間控件
1、首先 js 去定位元素,去除元素中的屬性:js="$(‘’).removeAttr(要刪除的屬性)
2、然后執行 js 腳本: driver.execute.script(js)
3、然后輸入時間日期

95
driver.find_element_by_xpath(//[@id=start time]").send keys("2018-12-29 10:55:55)#輸入日

11.25 彈出框的操作?
彈出框一般有三種:警告消息框,確認對話框,提示消息框
在 selenium 中提供了一個方法 switch_to.alert,跳轉到對話框上面去對 alert 對話框進行操作的函
數/法
Accept() #點擊確定按鈕
Dismiss() #點擊取消按鈕
Text #獲取對話框上的文本信息
Send_keys() #輸入內容
11.26 等待時間有哪三種,區別是什么?
1、sleep 強制等待,要導入 from time import sleep,必須等待那么多秒定位才執行
2、driver.implicitly_wait 隱式等待多秒內只要找到元素就開始執行,超多設定時間就超時
3、Web DriverWaite(driver,20.1).until(lambdax.x.find_element_by_name()).send_keys()-首先
需要導入一個包:fom selenium.webdriver.support.wait import WebDriverWait, driver 1s 鐘找一
次元素,最多找 20 秒,一直發送請求,直到找到元素位置以后,進行下一步操作。
11.27 有沒有修改過頁面元素的屬性,具體怎么修改?
有的,有時候我們會碰到一些元素不可見,這個時候 selenium 就無法對這些元素進行操作了。例如,
下面的情況:頁面主要通過“display.none”來控制整個下拉框不可見。這個時候如果直接操作這個
下拉框,就會提示:我們需要通過 javaScript 修改 display 的值
具體修改方式如下:
js='document.queryselectorAll(‘select’)[1].style.display="block";’
driver.execute_script(js)
11.28 定位不到元素,你碰到過哪些?怎么解決的?
1、像頁面加載延遲的問題,這個需要通過等待延遲的方式來處理。
2、不過有時候,頁面加載完成,但是元素暫時還不可見,導致定位不成功
這個可以選擇使用顯示等待來處理,這里需要用到 WebDriverWait 類來實現
3、還有就是像內嵌網頁的問題,需要使用 driver.switch_to.frame(name/index)這個函數來跳轉到
處理。
4、還有要注意多窗口問題,動態 id 問題等的問題,對于多窗口處理,可以使用

96
driver.switch_to.window()的方式來進行處理,而對于動態 id 的問題,需要注意的是有些 id 跟數
字有關,可能會動態變化,可以使用 xpath 也可以使用 css_select 屬性定位或者樣
式定位,或者可以通過父元素來找元素,或者通過兄弟節點來找對應的元素。等等
5、還有要特別注意滾動條的問題,這里通過調用 js 代碼來實現的,driver.execute_script(js)
6、再這就是有時候會碰到某些元素的是不可見的,比如 display 屬性為 none 這就需要通過 java
Script 修改 display 的值。
js ='document. querySelectorAll("select")[1]. style. display="block";
driver.execute_script(js)
11.29 元素定位,有時候定位得到,有時候定位不到,可能是什么原因,你會怎么處理?
1、可能是網絡問題,導致頁面加載延遲,這個可以做延遲等待,一般選擇隱式等待,在腳本前面加
上 driver.implicitly_wait(20)。
2、也有可能是頁面結構發生變化導致的,這個時候最好選擇通過 xpath 或 css 結合屬性進行或者樣
式定位可能會好點,或者采用 JQuery 定位的方式來進行定位元素
11.30 對于不可見/隱藏的元素,你如何定位,如何處理?
我們可以通過 javaScript 修改 display 的值,來實現
#修改元素的屬性
#我們需要通過 javaScript 修改 display 的值。
js='document.querySelectorAll('select')[1].style.display="block";’
driver.execute_script(js)
11.31 如果元素經常變動你怎么做?
1,少用絕對路徑,多用 css 或者 jQuery 定位
2,單個元素屬性進行封裝

??自動化測試相關教程推薦:

2023最新自動化測試自學教程新手小白26天入門最詳細教程,目前已有300多人通過學習這套教程入職大廠!!_嗶哩嗶哩_bilibili

2023最新合集Python自動化測試開發框架【全棧/實戰/教程】合集精華,學完年薪40W+_嗶哩嗶哩_bilibili

測試開發相關教程推薦

2023全網最牛,字節測試開發大佬現場教學,從零開始教你成為年薪百萬的測試開發工程師_嗶哩嗶哩_bilibili

postman/jmeter/fiddler測試工具類教程推薦

講的最詳細JMeter接口測試/接口自動化測試項目實戰合集教程,學jmeter接口測試一套教程就夠了!!_嗶哩嗶哩_bilibili

2023自學fiddler抓包,請一定要看完【如何1天學會fiddler抓包】的全網最詳細視頻教程!!_嗶哩嗶哩_bilibili

2023全網封神,B站講的最詳細的Postman接口測試實戰教學,小白都能學會_嗶哩嗶哩_bilibili

??總結:

?光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰案例來學習。

如果對你有幫助的話,點個贊收個藏,給作者一個鼓勵。也方便你下次能夠快速查找。

如有不懂還要咨詢下方小卡片,博主也希望和志同道合的測試人員一起學習進步

在適當的年齡,選擇適當的崗位,盡量去發揮好自己的優勢。

我的自動化測試開發之路,一路走來都離不每個階段的計劃,因為自己喜歡規劃和總結,

測試開發視頻教程、學習筆記領取傳送門!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214739.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【源碼解析】從ReentrantLock角度聊聊AQS原理

AQS結構 //頭節點 當前持有鎖的線程private transient volatile Node head;/*** Tail of the wait queue, lazily initialized. Modified only via* method enq to add new wait node.*///每個進來的線程都插入到最后private transient volatile Node tail;/*** The synchroni…

MLIR筆記(6)

5. 方言與操作 5.1. 方言的概念 在MLIR里,通過Dialect類來抽象方言。具體的每種方言都需要從這個基類派生一個類型,并實現重載自己所需的虛函數。 MLIR文檔里這樣描述方言( MLIR Language Reference - MLIR): 方言…

手把手教你玩轉ESP8266(原理+驅動)

在嵌入式開發中,無線通信的方式有很多,其中 WIFI 是繞不開的話題。說到 WIFI 通信,就不得不提 ESP8266了。 ESP8266 是一款高性能的 WIFI 串口模塊,實現透明傳輸。只要有一定的串口知識,不需要知道 WIFI 原理就可以上…

作為一個產品經理帶你了解Axure的安裝和基本使用

1.Axure的簡介 Axure是一種強大的原型設計工具,它允許用戶創建交互式的、高保真度的原型,以及進行用戶體驗設計和界面設計。Axure可以幫助設計師和產品經理快速創建和共享原型,以便團隊成員之間進行溝通和反饋。Axure提供了豐富的交互組件和功…

Spring--10--Spring Bean的生命周期

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 1.Spring Bean1.1 什么是 Bean簡而言之,bean 是由 Spring IoC 容器實例化、組裝和管理的對象。 1.2 Spring框架管理Bean對象的優勢 2.Bean的生命周期實例…

西工大網絡空間安全學院計算機系統基礎實驗二(phase_2下——漫漫深夜過后的黎明!!!)

內存地址內存地址中的數注釋指向這塊內存的寄存器0xffffd0e8函數phase_2的棧幀0xffffd0e40xffffd0f4函數phase_2的棧幀0xffffd0e00x5655b7b0函數phase_2的棧幀0xffffd0dc0x565566ca函數read_six_numbers的返回地址,函數phase_2的棧幀0xffffd0d80x5655af64舊%ebx的值…

SpringIOC之ConditionEvaluator

博主介紹:?全網粉絲5W+,全棧開發工程師,從事多年軟件開發,在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰,博主也曾寫過優秀論文,查重率極低,在這方面有豐富的經驗? 博主作品:《Java項目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

Netty性能好的原因是什么

Netty性能好的原因 廢話篇Netty性能好的原因是什么1. 非阻塞IO模型高效的Reactor線程模型零拷貝內存池設計無鎖串行化設計高性能序列化協議 廢話篇 相信有同學會經常被問到這樣的問題,不妨下次被面試官問到這種問題,我們可以這樣回答! Nett…

簡單實用的firewalld命令

簡單實用的firewalld命令 一、查看防火墻是否打開二、查詢、開放、關閉端口三、查看已監聽端口四、驗證 一、查看防火墻是否打開 systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.…

map.getOrDefault

map.getOrDefault 是 Java 中的一個方法,用于從 Map 中獲取指定鍵的值,如果鍵不存在,則返回指定的默認值。 方法簽名如下: V getOrDefault(Object key, V defaultValue) 其中,key 是要獲取值的鍵,defaul…

day19_java泛型

泛型 Java 泛型(generics)是 JDK 5 中引入的一個新特性, 泛型提供了編譯時類型安全檢測機制,該機制允許程序員在編譯時檢測到非法的類型。保證了java的安全性 泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數…

AWS EC2使用 instance profile 訪問S3

AWS EC2 instance可以使用instance profile 配置訪問S3的權限。 然后就可以直接在EC2上執行 python代碼或者AWS CLI去訪問S3了。 唯一需要注意的地方是,申明region。 示例代碼: aws s3 ls xxxx-s3-bucket --region xxx-region import boto3 client …

一文讀懂MySQL基礎知識文集(8)

🏆作者簡介,普修羅雙戰士,一直追求不斷學習和成長,在技術的道路上持續探索和實踐。 🏆多年互聯網行業從業經驗,歷任核心研發工程師,項目技術負責人。 🎉歡迎 👍點贊?評論…

IDEA 報錯

IDEA 報錯: Cannot resolve symbol:這通常是由于 IDEA 無法識別您正在使用的類或方法導致的。請確保您已經導入了正確的包,并且您的類路徑設置正確。 NullPointerException:這通常是由于您的代碼嘗試訪問空對象或空值導致的。請檢…

JavaScript 函數的返回值

JavaScript 函數的返回值 JavaScript 函數的返回值是函數執行后返回的值,可以是任意類型的值,包括數字、字符串、布爾值、對象等。函數的返回值通過 return 關鍵字來指定,如果函數沒有指定返回值,則默認返回 undefined。例如&…

Qt處理焦點事件(獲得焦點,失去焦點)

背景: 我只是想處理焦點動作,由于懶,上網一搜,排名靠前的一位朋友,使用重寫部件的方式實現。還是因為懶,所以感覺復雜了。于是又花了一分鐘解決了一下。 所以記錄下來,以免以后忘了。 思路&a…

單目相機測距(3米范圍內)二維碼實現方案(python代碼 僅僅依賴opencv)

總體思路:先通過opencv 識別二維碼的的四個像素角位置,然后把二維碼的物理位置設置為 cv::Point3f(-HALF_LENGTH, -HALF_LENGTH, 0), //tl cv::Point3f(HALF_LENGTH, -HALF_LENGTH, 0), //tr cv::Point3f(HALF_LENGTH, HALF_LENGTH, 0), //br cv::P…

四年編程成長總結

文章目錄 計算機計算機基礎知識操作系統計算機網絡 自考學習與備考考試經歷 軟考學習與準備考試成果人生成長自主學習解決問題團隊合作 總結 計算機 計算機是我學習和應用Java編程的基礎,它為我提供了一個強大的工具和平臺。在這四年的學習中,我逐漸深入…

軟件運行原理 - 內存模型 - 棧內存

說明 C/C軟件運行時,內存根據使用方式的不同分為堆內存和棧內存,棧內存使用有以下特征: 棧內存使用(申請、釋放)由系統自動分配和釋放,程序員不用做任何操作。棧內存重復使用,進入函數時數據入…

什么是特征圖?

在卷積神經網絡(CNN)中,特征圖是在傳遞給卷積層的圖像上發生卷積操作后卷積層的輸出。 特征圖是如何形成的? 在上面的插圖中,我們可以看到特征圖是如何從提供的輸入圖像中形成的。 要發送到卷積層的圖像是一個包含像…