一、配置管理的概念:
配置管理是通過對在軟件生命周期的不同的時間點上的軟件配置進行標識,並對這些被標識的軟件配置項的更改進行系統控制,從而達到保證軟件產品的完整性和可溯性的過程。
二、配置管理是對軟件整個生命周期進行管理。
配置管理是對配置項進行標示,並進行增刪改查等操作。
配置管理的目的:是保證軟件產品的完整性,一致性和可回溯性。
三、配置項的內容:合同類文檔 、計划類文檔、工程類文檔、程序代碼 、第三方程序代碼 、 工具 、用戶文檔 、運行環境
四、測試工程師用到SVN:獲取需求最新版本、獲取被測的程序,代碼的最新版本、對測試文檔進行配置管理
五、常用的配置管理工具:
VSS:微軟出品,小規模開發,性能較差
SVN:目前流行,Collbe.net出品,權限管理和分支合並出色
GIT:Linux伴生,linux系統表現好,windows系統表現弱
術語:配置
配置項(文檔,代碼,工具等等,和軟件相關的一切內容)
基線(由CCB 控制)
版本和版本標識(xx.yy.zz.pp—>主版本號.次版本號.維護版本號.補丁版本號)
測試用到的配置管理的功能
===========================================================
一、visualSVN-server:服務端
——創建倉庫(配置庫):
1)打開visualSVN SERVER
2)選中Repositoriers,右鍵
3)選擇 create new repository
4)輸入倉庫名稱,使用默認的配置直接下一步
5)最后create,然后finish
——創建用戶:
1.選擇Users目錄
2.鼠標在右邊右鍵,create user
3.輸入用戶的賬號和密碼,要記住,后面客戶端操作的時候要用。
——賦予用戶權限:
1.選擇剛才創建的倉庫,然后右鍵
2.選擇屬性(properties)
3.點擊add按鈕
4.選擇我們剛才新建的用戶,點擊確定即可。
Repository Name: 43test
Repository URL: https://SKY-20190124DCI/svn/43test
Configured repository permissions:- Everyone (Read / Write)
二、tortoiseSVN:客戶端
不要裝在有中文的路徑,不要裝太深的路徑。
1.提交文件到倉庫有兩種方法:
導入(import):不能重復連續導入。選擇要導入的目錄或則文件,右鍵找svn的彈出框,然后選擇import,輸入用戶密碼即可。
首先要(checkout)倉庫到本地路徑下,然后將要添加的文件放入本地倉庫,然后選擇這些文件,右鍵點svn-》添加(add),然后再次右鍵選擇svn commit,填寫提交信息,點擊確定。
添加一個文件:先add再commit
修改一個文件:直接修改這個文件,然后保存退出后commit
刪除一個文件:先刪除這個文件,然后commit,記得打上勾勾。
2、修改svn緩存的賬號信息:在空白的地方,右鍵-》setting,找到save data-》點擊author data 的clear all即可清理賬號緩存的信息,當你再次提交的時候就會讓你輸入新的賬號和密碼了。
3、從本地刪除一個文件,並提交到服務器(倉庫)。
4、如果是誤操作刪除了一些文件,想從服務器上恢復到本地,可以使用svn up。
7、沖突產生的原理,要求記憶並且要能用自己的語言描述沖突產生的過程(能畫出流程圖)
=============================================================
解決沖突(重點內容)
1、解決沖突有兩種辦法:
簡單粗暴:把沖突的相關文件全部刪除掉(如果需要備份的話就先備份再刪除),然后更新到最新版本,然后再修改再提交。
嚴謹但是麻煩:先刪除掉其他的沖突文件,保留沖突的原始文件(就一個文件),然后打開這個文件進行編輯,把里面沖突的內容該刪除的刪除,然后編輯成不沖突的內容文件,再提交。
=============================================================
Revision Graph:查看當前項目或文件的修訂歷史圖示 如果項目比較大型的話,一般會建多個分支,和多個里程碑。可以看到項目的全貌(查看版本的分支情況。)
Diff with previous version:比較該文檔和上一個版本中的差異部分。
Show log:顯示當前文件(夾)的所有修改歷史。
SVN支持文件以及文件夾獨立的版本追溯
Revert to this revision(文件內容回到歷史版本,可以提交。)——版本回溯(慎用)
update to revision:回到歷史的某個版本(需要輸入具體的版本號,文件內容回到歷史版本,不可以提交。)
repo-browser:查看當前工作區的路徑。
clean up:清理當前的工作區(常用於工作區有損壞或則文件緩存問題。)
8、設置文件鎖,選擇某個文件,右鍵-》海龜-》properties(屬性)-》new-》needs lock-》locking required-》ok,然后你會看到這個文件的屬性多了一個 lock,然后再提交上去,ok這個文件就已經設置了文件鎖了。
那么想修改這個文件必須要先get lock,然后在修改,在提交,並且一旦提交之后就不能重復修改了,必須再次get lock、release lock可以釋放文件鎖。
1.小A提供倉庫地址
2.小A創建一個新的賬號(給小B用的)
3.小A將創建的新賬號加到 小A的倉庫里
4.小A將倉庫地址,以及新的賬號密碼提供給小B
5.小B checkout小A的倉庫,並且輸入小A提供的賬號密碼
6.小A對加鎖的文件進行get lock,並修改文件保存退出,但不提交。
7.小B也對加鎖的文件進行get lock,看下效果如何?
190503——配置管理二
1.svn提交一個文件到服務器,只需要commit就可以了
2.git提交一個文件到服務器,先commit到本地緩存區,然后再push到服務器。
git服務器地址(首頁):https://github.com
1.在github.com上注冊一個git賬號,需要在郵箱里驗證下。
2.讓github.com的倉庫管理員把你的賬號添加到這個倉庫里(也需要在郵箱里接受一下),這樣你才有權限去操作這個倉庫。
3.clone一個你需要參與的項目的倉庫到你本地
4.然后再clone的后本地目錄里,右鍵git bash here,打開一會輸入命令的窗口,分別輸入如下兩句:
git config --global user.name "pkzhbin1"
git config --global user.email "3473809948@qq.com"
https://github.com/pkzhbin1/origin.git
username:要輸入你的git的賬號
email:要輸入你的git注冊時的郵箱
https://github.com/pkzhbin1/origin.git
從服務器更新最新版本到本地:使用右鍵->git gui base進入命令行->git pull origin master
如果更新過程中遇到一些奇怪的操作界面,按如下輸入退出文件編輯:
Esc——>輸入冒號:——>輸入q——>輸入!——>敲回車
新添加一個文件:
5.在你的本地倉庫目錄里,新建一個文件夾,再在這個新建的文件夾里再新建一個文件。
6.然后右鍵——》git gui here——》先點擊掃描(RESCAN)——》再點擊stage Changed——》輸入提交信息,點擊commit——》push到遠程服務器上。
修改一個文件:
1.找到你要修改的文件,然后打開后修改里面的內容,保存退出。
2.在git gui here界面,先掃描(rescan)——》stage changed——》輸入commit信息,點擊commit——》push
刪除一個文件:
直接在本地目錄刪除這個文件,然后再git gui here界面,先掃描(rescan)——》stage changed——》輸入commit信息,點擊commit——》push
如果誤刪除了一個文件,怎么恢復?
git reset HEAD xiaohui/18.txt
git checkout xiaohui/18.txt
如果我們不知道之前刪除了哪些文件或則文件夾,可以用如下命令查看到:
git status
查詢版本歷史信息:
1.我們想了解本地目錄的一個歷史信息。
2.可以在git gui->repository->visualize master's history
回到過去某個版本:
1.比如我們想回到之前剛提交zhangbin.txt文件的版本(文件內容是空的時候)。
2.首先查找那個時候的版本SHA值,查看歷史記錄:
拷貝這個SHA值,然后再git base里輸入
git reset --hard 7115201f582b4cf7cd9d3aa218e4400b068a969f
比較一個文件或則目錄的某個版本之間的變化:
Git diff a8b780d5d78406d9602275471dfe0cc66fd1370e 8b17993a0fddbb1cd34ed8623184b01722fe5010 zhangbin42qi/zhangbin.txt
幫助手冊:
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6
1.配置項的標識包括下列哪兩個方面 AC
A.配置項名稱 B.配置項位置 C.配置項版本標識 D.配置管理工具
2.下列哪一項不屬於版本號的組成部分 D
A.主版本號 B.次版本號 C.補丁版本號 D.外部版本號
3.變更控制主要關注的是( ) B
A.阻止變更 B.標識變更,提出變更,管理變更
C.管理CCB D.客戶的想法
4.項目的基線發生變更應該經過( )授權執行的. D
A.項目管理者 B.質量保證人員 C.配置管理人員 D.CCB
5.為了更好的管理變更,需要定義項目基線,關於基線的描述,正確的是( )B
A不可以變化的 B可以變化,但是必須通過基線變更控制流程處理
C.所有的項目必須定義基線 D.基線發生變更時,必須修改需求
6.配置審計的作用是保證配置項的( )、( )和( )以及符合計划。 ABC
A.完整性 B.一致性 C.可跟蹤性 D.安全性
7.在項目進行過程中,2個項目成員使用不同版本的設計說明書,這時項目經理首先應該檢查( )C
A.信息管理系統 B.人員花名冊 C.配置管理系統 D.客戶關系系統
8.配置管理 是用於() A
A.整體變更控制 B.項目計划執行 C.項目計划制定 D.風險定量分析
9.軟件配置管理是一組用戶在軟件( )管理變化的活動 C
A.交付使用后 B.開發過程中 C.整個生命周期內 D.測試過程中
10.以下哪些可以用作缺陷管理工具()ABD
A.bugzilla B.mantis C.testlink D.禪道
11.為了避免由於兩個開發人員同時修改同一文件所造成的問題所采用的測略是
A.文件檢入 B.文件檢出 C.鎖定文件 D.文件拷貝
12.變更控制委員會的職責AB
A.評估和擬准對配置項的變更 B.確保擬准后的更改的實施
C.建立和管理配置庫 D.管理配置庫的訪問權限
13.配置管理工程師的職責有哪些ABCD
A.保證產品的一致性、完整性、可追溯性 B.維護配置庫
C,變更控制 D.發布管理
14.下列哪些屬於軟件缺陷( )BCD
A.測試人員主觀認為不合理的地方
B.軟件未達到產品說明書標明的功能
C.軟件出現了產品說明書指明不會出現的錯誤
D.軟件功能超出產品說明書指明范圍
15.每個階段注入的缺陷在( )階段就被發現和清除是最佳選擇。 C
A.需求 B.前面 C.本 D.后續
16.測試工程師可能用到的配置管理的功能有以下哪些?ABC
A.獲取需求最新版本 B.獲取被測的程序
C.對測試文檔進行配置管理 D.配置管理庫的定時清理
17.以下哪些是使用配置管理工具來管理源代碼所產生的好處?ABCD
A.代碼受控,不丟失
B.可以在特定的里程碑或者時間點及時建立基線
C.分支代碼變化可以合並入主線
D.源代碼管理具備回溯能力,可跟蹤所有的變化
18.在SVN版本庫瀏覽器中,用戶有讀寫權限,則可以進行以下( )操作。ABCD
A.Delete B.Rename C.checkout D.export
19.SVN的工作模式,屬於( )模式?B
A.串行 B.並行 C.串並行 D.迭代
20.在空白處,單擊右鍵,選擇"Tortoise SVN",再選擇( )就可以進入SVN版本庫瀏覽器。A
A.Repo-browser B.Create repository here C.Settings D.Import
21.缺陷管理的目的有AC
A.保證缺陷得到有效的跟蹤和解決 B.發現開發人員的錯誤
C.獲取正確的bug信息,用作缺陷分析和產品度量D.檢驗測試人員的工作質量