自動(dòng)化測(cè)試工具qtp課程軟件測(cè)試基礎(chǔ)理論_第1頁(yè)
自動(dòng)化測(cè)試工具qtp課程軟件測(cè)試基礎(chǔ)理論_第2頁(yè)
自動(dòng)化測(cè)試工具qtp課程軟件測(cè)試基礎(chǔ)理論_第3頁(yè)
自動(dòng)化測(cè)試工具qtp課程軟件測(cè)試基礎(chǔ)理論_第4頁(yè)
自動(dòng)化測(cè)試工具qtp課程軟件測(cè)試基礎(chǔ)理論_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主要內(nèi)容1.什么是軟件測(cè)試2.軟件測(cè)試跟軟件開(kāi)發(fā)的關(guān)系3.軟件測(cè)試與軟件質(zhì)量的關(guān)系4.軟件測(cè)試有哪些種類(lèi)5.軟件測(cè)試有哪些方法6.軟件測(cè)試該如何實(shí)施7.軟件的缺陷及管理軟件軟件的定義

(1)能夠完成預(yù)定功能和性能的、可執(zhí)行的指令(計(jì)算機(jī)程序)(2)使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)(3)描述程序的操作和使用的文檔軟件=程序+數(shù)據(jù)(庫(kù))+文檔軟件生命周期軟件生命周期(也稱(chēng)軟件生存周期)是軟件的產(chǎn)生直到報(bào)廢的生命周期。軟件生命周期內(nèi)有問(wèn)題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄等階段。軟件生命周期軟件生命周期的主要階段:?jiǎn)栴}的定義及規(guī)劃此階段是軟件開(kāi)發(fā)方與需求方共同討論,主要確定軟件的開(kāi)發(fā)目標(biāo)及其可行性。需求分析在確定軟件開(kāi)發(fā)可行的情況下,對(duì)軟件需要實(shí)現(xiàn)的各個(gè)功能進(jìn)行詳細(xì)分析。需求分析階段是一個(gè)很重要的階段,這一階段做得好,將為整個(gè)軟件開(kāi)發(fā)項(xiàng)目的成功打下良好的基礎(chǔ)。無(wú)法顯示該圖片。軟件生命周期軟件生命周期的主要階段:3.軟件設(shè)計(jì)此階段主要根據(jù)需求分析的結(jié)果,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行設(shè)計(jì),如系統(tǒng)框架設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)等等。軟件設(shè)計(jì)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。好的軟件設(shè)計(jì)將為軟件程序編寫(xiě)打下良好的基礎(chǔ)。軟件生命周期軟件生命周期的主要階段:4.程序編碼此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)換成計(jì)算機(jī)可運(yùn)行的程序代碼。在程序編碼中必須要制定統(tǒng)一,符合標(biāo)準(zhǔn)的編寫(xiě)規(guī)范。以保證程序的可讀性,易維護(hù)性,提高程序的運(yùn)行效率。無(wú)法顯示該圖片。軟件生命周期軟件生命周期的主要階段:

5.軟件測(cè)試在軟件設(shè)計(jì)完成后要經(jīng)過(guò)嚴(yán)密的測(cè)試,以發(fā)現(xiàn)軟件在整個(gè)設(shè)計(jì)過(guò)程中存在的問(wèn)題并加以糾正。整個(gè)測(cè)試過(guò)程分單元測(cè)試、集成測(cè)試以及系統(tǒng)測(cè)試三個(gè)階段進(jìn)行。測(cè)試的方法主要有白盒測(cè)試和黑盒測(cè)試兩種。在測(cè)試過(guò)程中需要建立詳細(xì)的測(cè)試計(jì)劃并嚴(yán)格按照測(cè)試計(jì)劃進(jìn)行測(cè)試,以減少測(cè)試的隨意性。軟件生命周期軟件生命周期的主要階段:6.運(yùn)行維護(hù)軟件維護(hù)是軟件生命周期中持續(xù)時(shí)間最長(zhǎng)的階段。在軟件開(kāi)發(fā)完成并投入使用后,由于多方面的原因,軟件不能繼續(xù)適應(yīng)用戶的要求。要延續(xù)軟件的使用壽命,就必須對(duì)軟件進(jìn)行維護(hù)。軟件的維護(hù)包括糾錯(cuò)性維護(hù)和改進(jìn)性維護(hù)兩個(gè)方面。軟件開(kāi)發(fā)模型軟件開(kāi)發(fā)模型典型的幾種開(kāi)發(fā)模型包括:瀑布模型、增量模型、迭代模型等軟件開(kāi)發(fā)模型瀑布模型瀑布模型將軟件生命周期劃分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫(xiě)、軟件測(cè)試和運(yùn)行維護(hù)等六個(gè)基本活動(dòng),并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。在瀑布模型中,軟件開(kāi)發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行,當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果,實(shí)施完成所需的工作內(nèi)容。軟件開(kāi)發(fā)模型增量模型又稱(chēng)演化模型。與建造大廈相同,軟件也是一步一步建造起來(lái)的。在增量模型中,軟件被作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成.增量模型在各個(gè)階段并不交付一個(gè)可運(yùn)行的完整產(chǎn)品,而是交付滿足客戶需求的一個(gè)子集的可運(yùn)行產(chǎn)品。各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的。軟件開(kāi)發(fā)模型迭代模型:實(shí)現(xiàn)軟件的每項(xiàng)功能反復(fù)求精的過(guò)程,是從模糊到清晰的開(kāi)發(fā)過(guò)程。每次迭代是從功能的深度和細(xì)化程度來(lái)劃分的。迭代模型最適合使用與前期需求不穩(wěn)定,需求多變的項(xiàng)目,“我雖然不知道客戶想要什么,但我卻知道怎么得到它?!痹趺吹玫娇蛻粝胍臇|西呢?——迭代!軟件測(cè)試模型軟件測(cè)試什么是軟件測(cè)試

(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程。好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案。成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。從上述規(guī)則可以看出,測(cè)試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程”。軟件測(cè)試的目的測(cè)試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。在軟件生命周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生差錯(cuò)。我們力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格的技術(shù)審查,盡可能早地發(fā)現(xiàn)并糾正差錯(cuò);但是,經(jīng)驗(yàn)表明審查并不能發(fā)現(xiàn)所有差錯(cuò),此外在編碼過(guò)程中還不可避免地會(huì)引入新的錯(cuò)誤。如果在軟件投入生產(chǎn)性運(yùn)行之前,沒(méi)有發(fā)現(xiàn)并糾正軟件中的大部分差錯(cuò),則這些差錯(cuò)遲早會(huì)在生產(chǎn)過(guò)程中暴露出來(lái),那時(shí)不僅改正這些錯(cuò)誤的代價(jià)更高,而且往往會(huì)造成很惡劣的后果。軟件質(zhì)量什么是軟件質(zhì)量?軟件質(zhì)量是軟件產(chǎn)品滿足使用要求的程度。對(duì)于軟件質(zhì)量的衡量,就是高質(zhì)量的軟件系統(tǒng)能夠準(zhǔn)時(shí)地交付給用戶,所耗費(fèi)的成本不超出預(yù)算,并且最重要的是,能夠正常地運(yùn)行?!罢5剡\(yùn)行”意味著該軟件必須盡可能沒(méi)有缺陷

(bug)。軟件質(zhì)量軟件需求是質(zhì)量度量的基礎(chǔ),與需求不符就是質(zhì)量不高完成的成本和完成的時(shí)間都應(yīng)該在計(jì)劃范圍內(nèi)開(kāi)發(fā)出的軟件產(chǎn)品應(yīng)該是可靠的和可維護(hù)的軟件質(zhì)量保證(SQA)質(zhì)量保證是一個(gè)活動(dòng),它向所有有關(guān)的人提供證據(jù)以確立質(zhì)量功能正在按需求運(yùn)行的信心。軟件質(zhì)量保證是一系列系統(tǒng)性的活動(dòng),它提供開(kāi)發(fā)出滿足使用要求產(chǎn)品的軟件過(guò)程的能力證據(jù)。SQA的目標(biāo)是通過(guò)在開(kāi)發(fā)周期的早期階段發(fā)現(xiàn)錯(cuò)誤來(lái)降低解決問(wèn)題的成本。軟件缺陷什么是缺陷?缺陷可以定義成:沒(méi)有實(shí)現(xiàn)預(yù)定的使用需求或合理期望與規(guī)格說(shuō)明書(shū)或標(biāo)準(zhǔn)存在偏差在與標(biāo)準(zhǔn)的一致性方面導(dǎo)致客戶不滿的任何問(wèn)題缺陷級(jí)別致命性缺陷(Critical)數(shù)據(jù)丟失,數(shù)據(jù)計(jì)算缺陷、系統(tǒng)崩潰和非常死機(jī)嚴(yán)重功能性缺陷(Serious)規(guī)定的功能沒(méi)有實(shí)現(xiàn)或不完整、設(shè)計(jì)不合理造成性能低下,影響系統(tǒng)的運(yùn)營(yíng)警告性缺陷(Moderate)不影響業(yè)務(wù)運(yùn)營(yíng)的功能問(wèn)題建議性缺陷(Suggestion,Cosmetic)軟件設(shè)計(jì)和功能實(shí)現(xiàn)等不甚合理之處提出建議缺陷的生命周期軟件缺陷生命周期:發(fā)現(xiàn)——打開(kāi):測(cè)試人員找到軟件缺陷并將軟件缺陷提交給開(kāi)發(fā)人員;打開(kāi)——修復(fù):開(kāi)發(fā)人員再現(xiàn)、修復(fù)缺陷,然后提交測(cè)試人員去驗(yàn)證;修復(fù)——關(guān)閉:測(cè)試人員驗(yàn)證修復(fù)過(guò)的軟件,關(guān)閉已不存在的缺陷。軟件測(cè)試分類(lèi)按測(cè)試階段劃分:單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,用戶驗(yàn)收測(cè)試按是否查看代碼劃分:①白盒測(cè)試②黑盒測(cè)試③灰盒測(cè)試其他分類(lèi)負(fù)載測(cè)試,安裝卸載測(cè)試,兼容測(cè)試等軟件測(cè)試分類(lèi)單元測(cè)試:最微小規(guī)模的測(cè)試;以測(cè)試某個(gè)功能或代碼塊。典型地由程序員而非測(cè)試員來(lái)做,因?yàn)樗枰纼?nèi)部程序設(shè)計(jì)和編碼的細(xì)節(jié)知識(shí)。集成測(cè)試:一個(gè)應(yīng)用系統(tǒng)的各個(gè)部件的聯(lián)合測(cè)試,以決定他們能否在一起共同工作。部件可以是代碼塊、獨(dú)立的應(yīng)用、網(wǎng)絡(luò)上的客戶端或服務(wù)器端程序。軟件測(cè)試分類(lèi)系統(tǒng)測(cè)試:基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒類(lèi)測(cè)試;應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。驗(yàn)收測(cè)試:是部署軟件之前的最后一個(gè)測(cè)試操作。在軟件產(chǎn)品完成了功能測(cè)試和系統(tǒng)測(cè)試之后、產(chǎn)品發(fā)布之前所進(jìn)行的軟件測(cè)試活動(dòng)。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱(chēng)為交付測(cè)試。軟件測(cè)試分類(lèi)白盒測(cè)試軟件測(cè)試分類(lèi)白盒測(cè)試白盒測(cè)試是軟件測(cè)試的主要方法之一,也稱(chēng)結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序本身的測(cè)試。測(cè)試應(yīng)用程序的內(nèi)部結(jié)構(gòu)或運(yùn)作,以編程語(yǔ)言的角度來(lái)設(shè)計(jì)測(cè)試案例。測(cè)試者了解待測(cè)試程序的內(nèi)部結(jié)構(gòu)、算法等信息,這是從程序設(shè)計(jì)者的角度對(duì)程序進(jìn)行的測(cè)試。軟件測(cè)試分類(lèi)白盒測(cè)試分類(lèi)軟件測(cè)試分類(lèi)靜態(tài)白盒測(cè)試:是在不執(zhí)行程序的條件下有條理地仔細(xì)審查軟件設(shè)計(jì)、體系結(jié)構(gòu)和代碼,從而找出軟件缺陷的過(guò)程,又是也稱(chēng)為結(jié)構(gòu)分析。動(dòng)態(tài)白盒測(cè)試:軟件測(cè)試員可以查看并使用代碼的內(nèi)部結(jié)構(gòu),從而設(shè)計(jì)和執(zhí)行測(cè)試。軟件測(cè)試分類(lèi)黑盒測(cè)試黑盒測(cè)試黑盒測(cè)試又稱(chēng)為功能測(cè)試,把被測(cè)軟件看成一個(gè)封閉的盒子,在完全不考慮軟件內(nèi)部邏輯和內(nèi)部結(jié)構(gòu)的情況下進(jìn)行的測(cè)試。軟件測(cè)試分類(lèi)負(fù)載測(cè)試:測(cè)試一個(gè)應(yīng)用在重負(fù)荷下的表現(xiàn),例如測(cè)試一個(gè)Web站點(diǎn)在大量的負(fù)荷下,何時(shí)系統(tǒng)的響應(yīng)會(huì)退化或失敗。安裝/卸載測(cè)試:對(duì)軟件的全部、部分或升級(jí)安裝/卸載處理過(guò)程的測(cè)試。兼容測(cè)試:測(cè)試軟件在一個(gè)特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。軟件測(cè)試的方法從測(cè)試人員角度看,可分為: 人工測(cè)試自動(dòng)測(cè)試適合人工測(cè)試情況界面測(cè)試用戶體驗(yàn)測(cè)試正確性的檢查:人們對(duì)是非的判斷和邏輯推理的能力涉及與設(shè)備交互的測(cè)試美觀、聲音、易用性測(cè)試適合自動(dòng)化測(cè)試的情況可重復(fù)地,對(duì)于數(shù)據(jù)能進(jìn)行大批量的處理,不知疲倦的工作回歸測(cè)試系統(tǒng)負(fù)載或性能、穩(wěn)定性、可靠性測(cè)試自動(dòng)化測(cè)試適合在機(jī)械化的執(zhí)行和比較中使用更好的利用資源 周末、晚上軟件測(cè)試流程軟件測(cè)試流程:需求:閱讀需求,理解需求,與客戶、開(kāi)發(fā)、架構(gòu)多方交 流,深入了解需求。測(cè)試計(jì)劃:根據(jù)需求估算測(cè)試所需資源(人力、設(shè)備等)、 所需時(shí)間、功能點(diǎn)劃分、如何合理分配安排資源等。用例設(shè)計(jì):根據(jù)測(cè)試計(jì)劃、任務(wù)分配、功能點(diǎn)劃分,設(shè)計(jì) 合理的測(cè)試用例。執(zhí)行測(cè)試:根據(jù)測(cè)試用例的詳細(xì)步驟,執(zhí)行測(cè)試用例。軟件測(cè)試流程軟件測(cè)試流程:執(zhí)行結(jié)果記錄和bug記錄:對(duì)每個(gè)case記錄測(cè)試的結(jié)果, 有bug的在測(cè)試管理工具中編寫(xiě)bug記錄。defect

tracking:追蹤leader分配給你追蹤的bug.直到bug closed。測(cè)試報(bào)告:通過(guò)不斷測(cè)試、追蹤,直到被測(cè)軟件達(dá)到測(cè)試 需求要求,并沒(méi)有重大bug。軟件發(fā)布。測(cè)試用例的設(shè)計(jì)方法測(cè)試用例設(shè)計(jì)常用方法邊界值劃分法等價(jià)類(lèi)劃分法錯(cuò)誤猜測(cè)判定表邏輯覆蓋法測(cè)試用例的設(shè)計(jì)方法等價(jià)類(lèi)劃分法等價(jià)類(lèi)劃分法是一種重要,常用的黑盒測(cè)試方法,它將不能窮舉的測(cè)試進(jìn)行合理的分類(lèi),從而保證設(shè)計(jì)出來(lái)的測(cè)試用例具有完整性和代表性。測(cè)試用例的設(shè)計(jì)方法等價(jià)類(lèi)劃分是將程序的輸入域(較為多見(jiàn))或輸出域(較為少見(jiàn))的不同區(qū)間劃分為不同的數(shù)據(jù)類(lèi),以便導(dǎo)出測(cè)試用例。每個(gè)等價(jià)類(lèi)所揭示的程序錯(cuò)誤是等價(jià)的每個(gè)測(cè)試用例能各自發(fā)現(xiàn)一類(lèi)錯(cuò)誤,從而減少必須設(shè)計(jì)的測(cè)試用例數(shù)測(cè)試某等價(jià)類(lèi)的代表值就等效于這一類(lèi)其他值的測(cè)試測(cè)試用例的設(shè)計(jì)方法有效等價(jià)類(lèi)對(duì)于軟件的需求說(shuō)明來(lái)說(shuō)是合理的,有意義的輸入數(shù)據(jù)所構(gòu)成的集合無(wú)效等價(jià)類(lèi)對(duì)于程序的需求說(shuō)明來(lái)說(shuō)是不合理的,沒(méi)有意義的輸入數(shù)據(jù)所構(gòu)成的集合利用它可以檢測(cè)程序?qū)τ跓o(wú)效數(shù)據(jù)的處理能力。測(cè)試用例的設(shè)計(jì)方法確立等價(jià)類(lèi)的原則1.如果輸入條件規(guī)定了取值范圍,或者值的個(gè)數(shù),則可以確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)例如:1<=x<=50有效:

>=1&&<=50無(wú)效:

<1和>50測(cè)試用例的設(shè)計(jì)方法2.如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)每一個(gè)數(shù)值分別進(jìn)行處理,這時(shí)要對(duì)每一個(gè)規(guī)定的輸入值確立一個(gè)有效等價(jià)類(lèi),而對(duì)于這組值之外的所有值確立一個(gè)無(wú)效等價(jià)類(lèi)。例:程序輸入x取值于一個(gè)固定的枚舉型{1,3,7,15}且對(duì)這4個(gè)值分別處理,則有效等價(jià)類(lèi)為

x=1,x=3,x=7,x=15無(wú)效等價(jià)類(lèi)為:x不等于1,3,7,15的值的集合測(cè)試用例的設(shè)計(jì)方法3.如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個(gè)有效等價(jià)類(lèi)(遵守該規(guī)則的),和若干無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則的數(shù)據(jù))。例如:密碼域,要求密碼必須是數(shù)字或字母有效等價(jià)類(lèi)為:密碼是數(shù)字和字母的組合(還可以細(xì)分)無(wú)效等價(jià)類(lèi):密碼包含中文、密碼包含其他符號(hào)等等如果確知已劃分的等價(jià)類(lèi)中的各元素在程序中的處理方式不同(例如,字母還區(qū)分大小寫(xiě)等)則要進(jìn)一步劃分成更小的等價(jià)類(lèi)。測(cè)試用例的設(shè)計(jì)方法在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)同時(shí)考慮有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)測(cè)試用例的設(shè)計(jì)。根據(jù)已列出的等價(jià)類(lèi)表可確定測(cè)試用例。具體過(guò)程如下:首先為等價(jià)類(lèi)表中的每一個(gè)等價(jià)類(lèi)分別規(guī)定一個(gè)唯一的編號(hào)。設(shè)計(jì)一個(gè)新的測(cè)試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價(jià)類(lèi)。重復(fù)這一步驟,直到所有的有效等價(jià)類(lèi)均被測(cè)試用例覆蓋。設(shè)計(jì)一個(gè)新的測(cè)試用例,使它僅覆蓋一個(gè)尚未覆蓋的無(wú)效等價(jià)類(lèi)。重復(fù)這一步驟,直到所有的無(wú)效等價(jià)類(lèi)均被測(cè)試用例覆蓋。測(cè)試用例的設(shè)計(jì)方法邊界值分析法邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。邊界值分析法是作為對(duì)等價(jià)類(lèi)劃分的補(bǔ)充,這種情況下,其測(cè)試用例來(lái)自等價(jià)類(lèi)的邊界。測(cè)試用例的設(shè)計(jì)方法為什么使用邊界值分析法?無(wú)數(shù)的測(cè)試實(shí)踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,通常會(huì)取得很好的測(cè)試效果。黑盒測(cè)試怎樣用邊界值分析法設(shè)計(jì)測(cè)試用例?首先確定邊界情況,通常輸入或輸出的等價(jià)類(lèi)的邊界就是應(yīng)該著重測(cè)試的邊界情況。選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)重典型值或任意值。例如:

數(shù)據(jù)范圍是1<=x<=50的正整數(shù)邊界值取為:有效值:1、2、49、50無(wú)效值:0

、51正常值:25測(cè)試用例的設(shè)計(jì)方法從理論上來(lái)說(shuō),邊界值可分為:僅考慮有效區(qū)間單個(gè)變量邊界值(一般邊界值):用在最小值,略高于最小值,正常值,略低于最大值和最大值處取變量的值。如果被測(cè)變量的個(gè)數(shù)為n,則測(cè)試用例的個(gè)數(shù)為4n+1測(cè)試用例的設(shè)計(jì)方法從理論上來(lái)說(shuō),邊界值可分為同時(shí)考慮有效區(qū)間和無(wú)效區(qū)間單個(gè)變量邊界值(健壯邊界值):除了在最小值,略高于最小值,正常值,略低于最大值和最大值處取變量的值,還要在略超過(guò)最大值以及略小于最小值處取值。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為6n+1測(cè)試用例的設(shè)計(jì)方法判定表等價(jià)類(lèi)劃分法和邊界值分析方法都是著重考慮輸入條件,但沒(méi)有考慮輸入條件的各種組合,輸入條件之間的互相制約關(guān)系。這樣雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測(cè)試了,但多個(gè)條件組合起來(lái)可能出錯(cuò)的情況卻被忽視了。一些程序的功能可以用判定表的形式來(lái)表示,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。測(cè)試用例的設(shè)計(jì)方法在一些數(shù)據(jù)處理問(wèn)題中,某些操作依賴(lài)多個(gè)邏輯條件的取值。處理這類(lèi)問(wèn)題的一個(gè)非常有力的分析和表達(dá)工具是判定表。測(cè)試用例的設(shè)計(jì)方法判定表通常由以下4部分組成: 條件樁---列出問(wèn)題的所有條件條件項(xiàng)---針對(duì)條件樁給出的條件列出所有可能的取值動(dòng)作樁---列出問(wèn)題規(guī)定的可能采取的操作動(dòng)作項(xiàng)---指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作規(guī)則:將一個(gè)條件組合的特定取值及相應(yīng)要執(zhí)行的動(dòng)作稱(chēng)為一條規(guī)則。在決策表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。將判定表中的每一列拿出來(lái)設(shè)計(jì)測(cè)試用例。測(cè)試用例的設(shè)計(jì)方法測(cè)試用例的設(shè)計(jì)方法錯(cuò)誤推測(cè)法錯(cuò)誤推測(cè)法的定義錯(cuò)誤推測(cè)法是基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)測(cè)試用例。錯(cuò)誤推測(cè)法的基本思想列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況來(lái)設(shè)計(jì)測(cè)試用例。測(cè)試用例的設(shè)計(jì)方法邏輯覆蓋:語(yǔ)句覆蓋判定覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋路徑覆蓋測(cè)試用例的設(shè)計(jì)方法(1)語(yǔ)句覆蓋程序里的每條可執(zhí)行的語(yǔ)句都要至少執(zhí)行一次。

int

chufa(int

a,int

b){return

a/b}測(cè)試用例的設(shè)計(jì)方法(2)判定覆蓋每個(gè)判定條件的取真分支和取假分支至少評(píng)價(jià)一次。又稱(chēng)為分支覆蓋。int

a,b;if(a||b)執(zhí)行語(yǔ)句1else執(zhí)行語(yǔ)句2測(cè)試用例的設(shè)計(jì)方法當(dāng)使用Switch

case語(yǔ)句時(shí),有多條分支,也需要覆蓋每個(gè)分支。switch(表達(dá)式){case

值1:語(yǔ)句1break;case

值2:語(yǔ)句2break;...default:語(yǔ)句n

break;}測(cè)試用例的設(shè)計(jì)方法(3)條件覆蓋要使每個(gè)判定中每個(gè)條件的所有取值至少要滿足一次。

int

a,b;if(a>5&&b<0)執(zhí)行語(yǔ)句1else執(zhí)行語(yǔ)句2測(cè)試用例的設(shè)計(jì)方法(4)判定條件覆蓋要求判定中的每個(gè)條件的所有取值至少要滿足一次,并且每個(gè)判定真假分支也要執(zhí)行一次。int

a,b;if(a>5&&b<0)執(zhí)行語(yǔ)句1else執(zhí)行語(yǔ)句2測(cè)試用例的設(shè)計(jì)方法(5)條件組合覆蓋每個(gè)判定中,條件的各種可能組合至少滿足一次。

int

a,b;if(a>5&&b<0)執(zhí)行語(yǔ)句1else執(zhí)行語(yǔ)句2測(cè)試用例的設(shè)計(jì)方法(6)路徑覆蓋---使程序的每條可能路徑都至少執(zhí)行一次。測(cè)試用例的設(shè)計(jì)方法白盒測(cè)試實(shí)踐一

(給出邏輯覆蓋6種情況的測(cè)試用例)void DoWork

(int

x,int

y,int

z){int

k=0,j=0;if

(

(x>3)&&(z<10)

){

k=x*y-1;j=sqrt(k);//語(yǔ)句塊1}if

(

(x==4)||(y>5)

){

j=x*y+10;

}j=j%3;//語(yǔ)句塊2//語(yǔ)句塊3}X>3

&&

z<10執(zhí)行語(yǔ)句塊1執(zhí)行語(yǔ)句塊2X==4

||

y>5執(zhí)行語(yǔ)句塊3測(cè)試用例的設(shè)計(jì)方法FFTTabdce語(yǔ)句覆蓋要實(shí)現(xiàn)DoWork函數(shù)的語(yǔ)句覆蓋,只需設(shè)計(jì)一個(gè)測(cè)試用例就可以覆蓋程序中的所有可執(zhí)行語(yǔ)句。測(cè)試用例輸入為:{x=4、y=5、z=5}程序執(zhí)行的路徑是:abd分析:

語(yǔ)句覆蓋可以保證程序中的每個(gè)語(yǔ)句都得到執(zhí)行,但發(fā)現(xiàn)不了判定中邏輯運(yùn)算的錯(cuò)誤,即它并不是一種充分的檢驗(yàn)方法。例如在第一個(gè)判定((x>3)&&(z<10))中把

“&&”錯(cuò)誤的寫(xiě)成了“||”,這時(shí)仍使用該測(cè)試用例,則程序仍會(huì)按照流程圖上的路徑abd執(zhí)行。可以說(shuō)語(yǔ)句覆蓋是最弱的邏輯覆蓋準(zhǔn)則。判定覆蓋要實(shí)現(xiàn)DoWork函數(shù)的判定覆蓋,需要設(shè)計(jì)兩個(gè)測(cè)試用例。測(cè)試用例的輸入為:{x=4、y=5、z=5};{x=2、y=5、z=5}程序執(zhí)行的路徑分別是:abd;ace分析:

上述兩個(gè)測(cè)試用例不僅滿足了判定覆蓋,同時(shí)還做到語(yǔ)句覆蓋。從這點(diǎn)看似乎判定覆蓋比語(yǔ)句覆蓋更強(qiáng)一些,但仍然無(wú)法確定判定內(nèi)部條件的錯(cuò)誤。例如把第二個(gè)判定中的條件y>5錯(cuò)誤寫(xiě)為y<5,使用上述測(cè)試用例,照樣能按原路徑執(zhí)行而不影響結(jié)果。因此,需要有更強(qiáng)的邏輯覆蓋準(zhǔn)則去檢驗(yàn)判定內(nèi)的條件。條件覆蓋在實(shí)際程序代碼中,一個(gè)判定中通常都包含若干條件。條件覆蓋的目的是設(shè)計(jì)若干測(cè)試用例,在執(zhí)行被測(cè)程序后,要使每個(gè)判定中每個(gè)條件的可能值至少滿足一次。對(duì)DoWork函數(shù)的各個(gè)判定的各種條件取值加以標(biāo)記。對(duì)于第一個(gè)判定(

(x>3)&&(z<10)

):

1條件x>3 取真值記為T(mén)1,取假值記為F12條件z<10 取真值記為T(mén)2,取假值記為F2對(duì)于第二個(gè)判定(

(x==4)||(y>5)

):

3條件x==4 取真值記為T(mén)3,取假值記為F34條件y>5 取真值記為T(mén)4,取假值記為F4條件覆蓋(續(xù))根據(jù)條件覆蓋的基本思想,要使上述4個(gè)條件可能產(chǎn)生的8種情況至少滿足一次,設(shè)計(jì)測(cè)試用例如下:測(cè)試用例執(zhí)行路徑覆蓋條件覆蓋分支x=4、y=6、z=5abdT1、T2、T3、T4bdx=2、y=5、z=15aceF1、F2、F3、F4ce條件覆蓋(續(xù))也可以設(shè)計(jì)測(cè)試用例如下:測(cè)試用例執(zhí)行路徑覆蓋條件覆蓋分支x=2、y=6、z=5acdF1、T2、F3、T4cdx=4、y=5、z=15acdT1、F2、T3、F4cd判定/條件覆蓋判定/條件覆蓋實(shí)際上是將判定覆蓋和條件覆蓋結(jié)合起來(lái)的一種方法,即:設(shè)計(jì)足夠的測(cè)試用例,使得判定中每個(gè)條件的所有可能取值至少滿足一次,同時(shí)每個(gè)判定的可能結(jié)果也至少出現(xiàn)一次。根據(jù)判定/條件覆蓋的基本思想,只需設(shè)計(jì)以下兩個(gè)測(cè)試用例便可以覆蓋4個(gè)條件的8種取值以及4個(gè)判定分支。測(cè)試用例執(zhí)行路徑覆蓋條件覆蓋分支x=4、y=6、z=5abdT1、T2、T3、T4bdx=2、y=5、z=15aceF1、F2、F3、F4ce判定/條件覆蓋(續(xù))分析:從程序執(zhí)行上看,判定/條件覆蓋測(cè)試了各個(gè)判定中的所有條件的取值,但實(shí)際上,編譯器在檢查含有多個(gè)條件的邏輯表達(dá)式時(shí),某些情況下的某些條件將會(huì)被其它條件所掩蓋。因此,判定/條件覆蓋也不一定能夠完全檢查出邏輯表達(dá)式中的錯(cuò)誤。例如:對(duì)于第一個(gè)判定(x>3)&&(z<10)來(lái)說(shuō),必須x>3和z<10這兩個(gè)條件同時(shí)滿足才能確定該判定為真。如果x>3為假,則編譯器將不再檢查z<10這個(gè)條件,那么即使這個(gè)條件有錯(cuò)也無(wú)法被發(fā)現(xiàn)。對(duì)于第二個(gè)判定(x==4)||(y>5)來(lái)說(shuō),若條件x==4滿足,就認(rèn)為該判定為真,這時(shí)將不會(huì)再檢查y>5,那么同樣也無(wú)法發(fā)現(xiàn)這個(gè)條件中的錯(cuò)誤。條件組合覆蓋條件組合覆蓋的目的是要使設(shè)計(jì)的測(cè)試用例能覆蓋每一個(gè)判定的所有可能的條件取值組合。對(duì)DoWork函數(shù)中的各個(gè)判定的條件取值組合加以標(biāo)記:1、x>3,z<10記做T1T2,第一個(gè)判定的取真分支2、x>3,z>=10記做T1F2,第一個(gè)判定的取假分支3、x<=3,z<10記做F1T2,第一個(gè)判定的取假分支4、x<=3,z>=10記做F1F2,第一個(gè)判定的取假分支5、x==4,y>5記做T3T4,第二個(gè)判定的取真分支6、x==4,y<=5記做T3F4,第二個(gè)判定的取真分支7、x!=4,y>5記做F3T4,第二個(gè)判定的取真分支8、x!=4,y<=5記做F3F4,第二個(gè)判定的取假分支條件組合覆蓋(續(xù))根據(jù)組合覆蓋的基本思想,設(shè)計(jì)測(cè)試用例如下分析:上面這組測(cè)試用例覆蓋了所有8種條件取值的組合,覆蓋了所有判定的真假分支,但是卻丟失了一條路徑abe。測(cè)試用例執(zhí)行路徑覆蓋條件覆蓋組合號(hào)x=4、y=6、z=5abdT1、T2、T3、T41和5x=4、y=5、z=15acdT1、F2、T3、F42和6x=2、y=6、z=5acdF1、T2、F3、T43和7x=2、y=5、z=15aceF1、F2、F3、F44和8路徑覆蓋前面提到的5種邏輯覆蓋都未涉及到路徑的覆蓋。事實(shí)上,只有當(dāng)程序中的每一條路徑都受到了檢驗(yàn),才能使程序受到全面檢驗(yàn)。路徑覆蓋的目的就是要使設(shè)計(jì)的測(cè)試用例能覆蓋被測(cè)程序中所有可能的路徑。路徑覆蓋(續(xù))根據(jù)路徑覆蓋的基本思想,本程序中有四條路徑:abd、acd、ace、abe

以下四個(gè)測(cè)試用例,則可以實(shí)現(xiàn)路徑覆蓋:測(cè)試用例執(zhí)行路徑覆蓋條件x=4、y=6、z=5abdT1、T2、T3、T4x=4、y=5、z=15acdT1、F2、T3、F4x=2、y=5、z=15aceF1、F2、F3、F4x=5、y=5、z=5abeT1、T2、F3、F4路徑覆蓋(續(xù))分析:雖然前面設(shè)計(jì)的測(cè)試用例滿足了路徑覆蓋,但并沒(méi)有覆蓋程序中所有的條件組合(丟失了組合3和7),即滿足路徑覆蓋的測(cè)試用例并不一定滿足組合覆蓋。路徑覆蓋(續(xù))說(shuō)明:對(duì)于比較簡(jiǎn)單的小程序,實(shí)現(xiàn)路徑覆蓋是可能做到的。但如果程序中出現(xiàn)較多判斷和較多循環(huán),可能的路徑數(shù)目將會(huì)急劇增長(zhǎng),要在測(cè)試中覆蓋所有的路徑是無(wú)法實(shí)現(xiàn)的。為了解決這個(gè)難題,只有把覆蓋路徑數(shù)量壓縮到一定的限度內(nèi),如程序中的循環(huán)體只執(zhí)行一次。在實(shí)際測(cè)試中,即使對(duì)于路徑數(shù)很有限的程序已經(jīng)做到路徑覆蓋,仍然不能保證被測(cè)試程序的正確性,還需要采用其他測(cè)試方法進(jìn)行補(bǔ)充。測(cè)試用例的設(shè)計(jì)方法小結(jié)1.使用等價(jià)類(lèi)劃分法設(shè)計(jì)一些測(cè)試用例2.任何情況下都必須使用邊界值分析法3.用錯(cuò)誤推測(cè)法再追加一些測(cè)試用例4.對(duì)照程序設(shè)計(jì)邏輯,檢查已設(shè)計(jì)出的測(cè)試用例的邏輯覆蓋程度,如果未達(dá)到覆蓋標(biāo)準(zhǔn),再補(bǔ)充足夠的測(cè)試用例。5.如果程序的功能說(shuō)明中,含有輸入條件的組合情況,則一開(kāi)始就使用決策表法。缺陷管理為什么需要缺陷管理軟件中的缺陷(Defect或Bug)是軟件開(kāi)發(fā)過(guò)程中的"副產(chǎn)品"。通常,缺陷會(huì)導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。每一個(gè)軟件組織都知道必須妥善處理軟件中的缺陷。這是關(guān)系到軟件組織生存、發(fā)展的質(zhì)量根本。缺陷管理缺陷描述對(duì)缺陷的描述應(yīng)該包含以下的內(nèi)容:缺陷ID唯一的缺陷ID,可以根據(jù)該ID追蹤缺陷。缺陷所屬項(xiàng)目/模塊缺陷所屬的項(xiàng)目和模塊,最好能較精確的定位至模塊缺陷標(biāo)題簡(jiǎn)潔明了的描述缺陷缺陷管理缺陷描述缺陷的詳細(xì)描述對(duì)缺陷的詳細(xì)描述;之所以把這項(xiàng)單獨(dú)列出來(lái),是因?yàn)閷?duì)缺陷描述的詳細(xì)程度直接影響開(kāi)發(fā)人員對(duì)缺陷的修改,描述應(yīng)該盡可能詳細(xì)。期望的結(jié)果實(shí)際的結(jié)果再現(xiàn)率再現(xiàn)步驟缺陷級(jí)別缺陷報(bào)告人缺陷管理測(cè)試環(huán)境對(duì)測(cè)試環(huán)境的描述測(cè)試用例編號(hào)必要的附件對(duì)于某些文字很難表達(dá)清楚的缺陷,使用圖片等附件是必要的。缺陷狀態(tài)缺陷處理人請(qǐng)看缺陷報(bào)告樣例缺陷管理缺陷的處理程序Bug(按嚴(yán)重級(jí)別)程序Bug我們都知道是由相關(guān)開(kāi)發(fā)人員進(jìn)行處理。需求bug測(cè)試人員將需求Bug不是提交給程序員,而是提交給需求分析人員,由他們進(jìn)行處理。缺陷管理管理目標(biāo)對(duì)缺陷的跟蹤管理一般而言需要達(dá)到以下的目標(biāo):確保每個(gè)被發(fā)現(xiàn)的缺陷都能夠被解決。解決的意思不一定是被修正,也可能是其他處理方式(例如,在下一個(gè)版本中修正或是不修正),總之,對(duì)每個(gè)被發(fā)現(xiàn)的BUG的處理方式必須能夠在開(kāi)發(fā)組織中達(dá)到一致。收集缺陷數(shù)據(jù)并根據(jù)缺陷趨勢(shì)曲線識(shí)別測(cè)試過(guò)程的階段。決定測(cè)試過(guò)程是否結(jié)束有很多種方式,通過(guò)缺陷趨勢(shì)曲線來(lái)確定測(cè)試過(guò)程是否結(jié)束是常用并且較為有效的一種方式。缺陷管理4.收集缺陷數(shù)據(jù)并在其上進(jìn)行數(shù)據(jù)分析,作為組織的過(guò)程財(cái)富。在一個(gè)運(yùn)行良好的組織中,缺陷數(shù)據(jù)的收集和分析是很重要的,從缺陷數(shù)據(jù)中可以得到很多與軟件質(zhì)量相關(guān)的數(shù)據(jù)。缺陷管理管理過(guò)程(1)處于CMM第一級(jí)(或稱(chēng)為初始級(jí))的軟件組織,對(duì)軟件缺陷的管理無(wú)章可循。工程師們只是在發(fā)現(xiàn)缺陷后,修改相應(yīng)的軟件。通常,沒(méi)有人會(huì)去記錄自己發(fā)現(xiàn)的缺陷。缺陷管理(2)在CMM第二級(jí)(或稱(chēng)為可重復(fù)級(jí))的軟件組織中,軟件項(xiàng)目會(huì)從自身的需要出發(fā),制定本項(xiàng)目的缺陷管理過(guò)程。軟件缺陷管理過(guò)程通常會(huì)包括如下幾個(gè)方面:提交缺陷分析和定位缺陷提請(qǐng)修改相應(yīng)的軟件修改相應(yīng)的軟件驗(yàn)證修改項(xiàng)目組會(huì)完整地記錄開(kāi)發(fā)過(guò)程中的缺陷,監(jiān)控缺陷的修改過(guò)程,并驗(yàn)證修改缺陷的結(jié)果。缺陷管理(3)CMM第三級(jí)(或稱(chēng)為已定義級(jí))的軟件組織會(huì)匯集組織內(nèi)部以前項(xiàng)目的經(jīng)驗(yàn)教訓(xùn),制定組織級(jí)的缺陷管理過(guò)程。并且,要求項(xiàng)目根據(jù)組織級(jí)的缺陷管理過(guò)程定制本項(xiàng)目的缺陷管理過(guò)程。從而,整個(gè)軟件組織中的項(xiàng)目都遵循類(lèi)似的過(guò)程來(lái)管理缺

陷。好的缺陷管理實(shí)踐成為所有項(xiàng)目的實(shí)踐,而教訓(xùn)也為所有項(xiàng)目所了解。更重要的是,隨著組織的不斷發(fā)展完善,組織的過(guò)程會(huì)得到持續(xù)性的改進(jìn),所有項(xiàng)目的過(guò)程也都會(huì)相

應(yīng)的改進(jìn)。缺陷管理(4)CMM第四級(jí)(或稱(chēng)為已管理級(jí))的軟件組織會(huì)根據(jù)已收集的缺陷數(shù)據(jù),采用SPC的方法建立軟件過(guò)程能力基線(Process

CapabilityBaseline)。過(guò)程能力基線可以用來(lái):(1)幫助未來(lái)的項(xiàng)目設(shè)立量化的項(xiàng)目質(zhì)量目標(biāo);(2)理解和控制未來(lái)項(xiàng)目的實(shí)際結(jié)果。缺陷管理(5)CMM第五級(jí)(或稱(chēng)為持續(xù)優(yōu)化級(jí))更強(qiáng)調(diào)對(duì)組織的過(guò)程進(jìn)行持續(xù)性改進(jìn),從而使過(guò)程能力得到不斷的提升。就缺陷管理而言,軟件組織應(yīng)當(dāng)在量化理解其過(guò)程能力的基礎(chǔ)上,持續(xù)地改進(jìn)組織級(jí)的開(kāi)發(fā)過(guò)程、缺陷發(fā)現(xiàn)過(guò)程,引入新方法、新工具,加強(qiáng)經(jīng)驗(yàn)交流,從而實(shí)現(xiàn)缺陷預(yù)防(Defect

Prevention)。缺陷預(yù)防的著眼點(diǎn)在于缺陷的共性原因。通過(guò)找尋、分析和處理缺陷的共性原因,實(shí)現(xiàn)缺陷預(yù)防。如何成為一名合格的軟件測(cè)試工程師基礎(chǔ)知識(shí) -- 計(jì)算機(jī)專(zhuān)業(yè)知識(shí)與技能方面熟悉計(jì)算機(jī)相關(guān)知識(shí)熟練掌握幾種常見(jiàn)的開(kāi)發(fā)語(yǔ)言掌握一些數(shù)據(jù)庫(kù)知識(shí)熟悉除了Windows之外的其它的操作系統(tǒng)熟悉網(wǎng)絡(luò)基本知識(shí)對(duì)軟件工程,軟件生命周期,測(cè)試?yán)碚摵蜏y(cè)試方式有較深的理解熟悉軟件測(cè)試技術(shù),能獨(dú)立設(shè)計(jì)和執(zhí)行測(cè)試用例報(bào)BUG,編寫(xiě)測(cè)試報(bào)告掌握一些主流的自動(dòng)化測(cè)試工具掌握服務(wù)器相關(guān)知識(shí)了解質(zhì)量管理知識(shí)說(shuō)明:紅色標(biāo)記的部分尤其重要如何成為一名合格的軟件測(cè)試工程師基礎(chǔ)知識(shí) -- 個(gè)人素養(yǎng)方面首先要有興趣有較強(qiáng)的邏輯思

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論