一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于Linux系統(tǒng)的腳本自動化測試領(lǐng)域,具體地說是一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法。
【背景技術(shù)】
[0002]測試的只要目的就是保證企業(yè)產(chǎn)品質(zhì)量的把關(guān)。有效的自動化測試有利于提升產(chǎn)品質(zhì)量及提高生產(chǎn)效率,在目前采用的回歸測試中重復(fù)單一的數(shù)據(jù)錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費,此外測試人員對程序的理解和對設(shè)計文檔的驗證通常也要借助于測試自動化工具,采用自動化測試工具有利于測試報告文檔的生成和版本的連貫性,而且自動化工具能夠確定測試用例的覆蓋路徑,確定測試用例集對程序邏輯流程和控制流程的覆蓋。
[0003]自動化測試可以提高測試效率,使測試人員更加專注于新的測試模塊的建立和開發(fā),從而提高測試覆蓋率,同時自動化測試更便于測試資產(chǎn)的數(shù)字化管理,使得測試資產(chǎn)在整個測試生命周期內(nèi)可以得到復(fù)用,此外,測試流程自動化管理可以使機構(gòu)的測試活動開展更加過程化,這很符合CMMI過程改進的思想;根據(jù)調(diào)查,在2001年前后的3年中,全球范圍內(nèi)由于采用了測試自動化手段所實現(xiàn)的投資回報率高達1500%。鑒于上述自動測試的優(yōu)點,在Linux系統(tǒng)下進行軟件測試時,腳本自動化執(zhí)行是需要解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)任務(wù)是針對以上不足,提供一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法,來解決軟件測試尤其手工測試無法實現(xiàn)的測試正確、測試自動化、快速測試的問題。
[0005]本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的:
一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法,通過Linux系統(tǒng)中的定時執(zhí)行工具cron執(zhí)行腳本的測試,步驟為:
(1)啟動cron服務(wù);
(2)根據(jù)腳本文件的運行權(quán)限設(shè)置cron服務(wù);
(3)如果腳本文件的運行有權(quán)限限制,則運行crontab命令編輯cron服務(wù),如果腳本文件的運行沒有權(quán)限限制,則編輯/etc/crontab文件配置cron服務(wù);
(4)如果測試過程出現(xiàn)故障可重啟cron服務(wù),或重新載入cron服務(wù)配置;
(5)測試結(jié)束后關(guān)閉cron服務(wù)。
[0006]啟動cron服務(wù)的方法為:通過/sbin/service crond start //啟動cron服務(wù);或在腳本/etc/rc.d/rc.local 的末尾加上/sbin/service crond start或service crondstart,使得Linux系統(tǒng)啟動時cron服務(wù)自動啟動。
[0007]運行crontab命令時設(shè)置環(huán)境變量,設(shè)置環(huán)境變量的方法為:
(1)建立 crond.txt 文件; (2)將步驟(1)中建立的文件上傳到/opt目錄;
(3)依次運行命令: crontab /opt/crond.txt crontab -1
(4)重新啟動cron服務(wù),使得配置文件生效。
[0008]本發(fā)明的一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法與現(xiàn)有技術(shù)相比具有以下優(yōu)點:實現(xiàn)Linux系統(tǒng)下對系統(tǒng)重復(fù)性的工作的自動化執(zhí)行,該方式可以用于回歸測試、穩(wěn)定性測試及其它系統(tǒng)下需求大量重復(fù)性工作,可以替代大量的人力投入,并不會因為重復(fù)性工作的枯乏而導(dǎo)致的一些誤操作,提高測試覆蓋面及測試質(zhì)量。
【具體實施方式】
[0009]參照具體實施例對本發(fā)明的一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法作以下詳細地說明。
[0010]實施例:
本發(fā)明的一種基于Linux系統(tǒng)的腳本的自動化執(zhí)行方法,通過Linux系統(tǒng)中的定時執(zhí)行工具cron執(zhí)行腳本的測試,步驟為:
(1)啟動cron服務(wù);
(2)根據(jù)腳本文件的運行權(quán)限設(shè)置cron服務(wù);
(3)如果腳本文件的運行有權(quán)限限制,則運行crontab命令編輯cron服務(wù),如果腳本文件的運行沒有權(quán)限限制,則編輯/etc/crontab文件配置cron服務(wù);
(4)如果測試過程出現(xiàn)故障可通過/sbin/servicecrond restart //重啟cron服務(wù),或通過/sbin/service crond reload //重新載入cron服務(wù)配置;
(5)測試結(jié)束后通過/sbin/servicecrond stop //關(guān)閉cron服務(wù)。
[0011]上述步驟(1)中,啟動cron服務(wù)的方法為:通過/sbin/service crond start //啟動cron服務(wù);或在腳本/etc/rc.d/rc.local 的末尾加上/sbin/service crond start或service crond start,使得Linux系統(tǒng)啟動時cron服務(wù)自動啟動。
[0012]啟動cron服務(wù)后,cron服務(wù)位于進程中,則可設(shè)置cron服務(wù)。
[°°13] 如果腳本文件的運行有權(quán)限限制,則運行crontab命令編輯cron服務(wù),crontab命令的參數(shù)包括crontab -u,用于設(shè)定某個用戶的cron服務(wù),一般root用戶在執(zhí)行這個命令的時候需要此參數(shù);crontab -1,列出某個用戶cron服務(wù)的詳細內(nèi)容;crontab -r,用于刪除某個用戶的cron服務(wù);crontab -e,用于編輯某個用戶的cron服務(wù)。如果root用戶要查看自己的cron設(shè)置,貝lj可執(zhí)行crontab -u root -1;如果root用戶要刪除fred的cron設(shè)置,貝lj可執(zhí)行crontab -u fred _r;在編輯cron服務(wù)時,編輯的內(nèi)容有一些格式和約定,貝lj可輸入命令crontab _u root -e或crontab -e,crontab -e命令可以為當前的用戶編輯自動執(zhí)行的腳本,crontab _u root _e在root用戶為其他用戶指定時才用。
[0014]接著編寫一個指令,如:
*/1 * * * *路徑/腳本文件名
該指令表示:每隔一分鐘執(zhí)行一次,如果命令太多,可以采取寫一個文本文件的形式,然后調(diào)用。如下:進入Vi編輯模式,編輯的內(nèi)容一定要符合下面的格式:*/1 * * * * Is >>/tmp/ls.txt o
[0015]這個命令格式的前一部分是對時間的設(shè)定,后面一部分是要執(zhí)行的命令,如果要執(zhí)行的命令太多,可以把這些命令寫到一個腳本里面,然后在這里直接調(diào)用這個腳本就可以了,調(diào)用的時候記得寫出命令的完整路徑。時間的設(shè)定約定為:前面五個*號代表五個數(shù)字,數(shù)字的取值范圍和含義如下:
分鐘(0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-6)//0代表星期天
除了數(shù)字還有幾個個特殊的符號就是〃*〃、〃/〃和〃-〃、〃,〃,*代表所有的取值范圍內(nèi)的數(shù)字,〃/〃代表每的意思,〃*/5〃表示每5個單位,〃-〃代表從某個數(shù)字到某個數(shù)字,〃,〃分開幾個離散的數(shù)字。如:
每天早上6點的命令格式為06:* * * echo "Good morning, ? /tmp/test.txt //,注意僅執(zhí)行echo,從屏幕上看不到任何輸出,因為cron命令把任何輸出都發(fā)送到root用戶的信箱了;
每兩個小時的命令格式為:0 */2 * * * echo 〃Have a break now.^ >> /tmp/test.txt ;
晚上11點到早上8點之間每兩個小時、早上8點的命令格式為:0 23-7/2,8 * * *echo 〃Have a good drea