軟件測試讀書筆記(佟偉光著)4

軟件測試過程

軟件測試過程包括單元測試扫腺、集成測試硼啤、系統(tǒng)測試和驗(yàn)收測試。

單元測試

單元測試是對軟件設(shè)計(jì)的最小單元——模塊進(jìn)行正確性檢驗(yàn)的測試工作斧账,主要測試模塊在語法谴返、格式和邏輯上的錯誤。單元必須是可測的咧织,其行為或輸出是可觀測的嗓袱,且有明確的可定義的邊界或接口。確定單元的最基本原則是“高內(nèi)聚习绢,低耦合”渠抹。

  • 單元測試原則
    (1)單元測試越早越好。
    (2)單元測試應(yīng)該依據(jù)《軟件詳細(xì)設(shè)計(jì)規(guī)格說明》進(jìn)行闪萄。
    (3)修改過的代碼應(yīng)該重做單元測試梧却,保證對已發(fā)現(xiàn)錯誤的修改沒有引入新的錯誤。
    (4)當(dāng)測試結(jié)果與預(yù)期結(jié)果不一致時败去,測試人員應(yīng)如實(shí)記錄實(shí)際的測試結(jié)果放航。
    (5)單元測試應(yīng)注意選擇好被測軟件單元的大小。
    (6)一個完整的單元測試說明應(yīng)該包含正面測試和負(fù)面測試圆裕。正面測試驗(yàn)證程序應(yīng)該執(zhí)行的工作广鳍,負(fù)面測試驗(yàn)證程序不應(yīng)該執(zhí)行的工作荆几。
    (7)注意使用單元測試工具。單元測試工具的使用能很好地把握測試進(jìn)度赊时,避免大量的重復(fù)勞動吨铸,降低工作強(qiáng)度,提高測試效率祖秒。
  • 單元測試的主要任務(wù)
    單元測試的主要任務(wù)包括模塊接口測試诞吱、模塊局部數(shù)據(jù)結(jié)構(gòu)測試、模塊中所有獨(dú)立執(zhí)行路徑測試竭缝、模塊邊界條件測試房维、各種錯誤處理測試。
  • 單元測試主要技術(shù)
    單元測試的依據(jù)是詳細(xì)設(shè)計(jì)描述歌馍。
    單元測試步驟:
    (1)人工靜態(tài)檢查握巢,保證代碼算法的邏輯正確性晕鹊、清晰性松却、規(guī)范性、一致性溅话、算法高效性晓锻,并盡可能地發(fā)現(xiàn)程序中沒有發(fā)現(xiàn)的錯誤。
    (2)動態(tài)執(zhí)行跟蹤飞几。通過設(shè)計(jì)測試用例砚哆,執(zhí)行待測程序,跟蹤比較實(shí)際結(jié)果與預(yù)期結(jié)果來發(fā)現(xiàn)錯誤屑墨。
    (3)狀態(tài)轉(zhuǎn)換測試躁锁。當(dāng)單元可能處于不同狀態(tài)轉(zhuǎn)換時,應(yīng)根據(jù)單元可能進(jìn)入的狀態(tài)卵史、這些狀態(tài)之間的轉(zhuǎn)換战转、引起轉(zhuǎn)換可能導(dǎo)致的狀態(tài)等進(jìn)行測試。
  • 單元測試工具簡介
    單元測試工具借助于驅(qū)動模塊與樁模塊工作以躯,運(yùn)行被測軟件單元以檢查輸入的測試用例是否按軟件詳細(xì)設(shè)計(jì)規(guī)格說明的規(guī)定執(zhí)行相關(guān)操作槐秧。分為下列一些種類:靜態(tài)分析工具、代碼規(guī)范審核工具忧设、內(nèi)存和資源檢查工具刁标、測試數(shù)據(jù)生成工具、測試框架工具址晕、 測試結(jié)果比較工具膀懈、測試度量工具、測試文檔生成和管理工具谨垃。
    常用的單元測試自動化工具包括:(1)基于XUnit測試框架的測試工具吏砂,如Java編程中使用的JUnit撵儿,.NET程序編程中使用的NUnit等。(2)常用的C語言單元測試工具VcTester和C++Test狐血。VcTester主要功能包括腳本化測試驅(qū)動(包括修改變量與調(diào)用函數(shù))淀歇、腳本樁、在線測試匈织、支持持續(xù)集成測試浪默、測試覆蓋率統(tǒng)計(jì)、測試管理缀匕、生成測試報告纳决、測試消息編輯器等。C++Test可以自動測試任何C/C++函數(shù)乡小、類阔加,自動生成測試用例、測試驅(qū)動函數(shù)或樁函數(shù)满钟,在自動化的環(huán)境下極其容易快速地使單元級的測試覆蓋率達(dá)到100%胜榔。(3)Visual Unit單元測試工具。其功能特性包括自動生成測試代碼湃番、快速建立功能測試用例夭织、高效完成白盒覆蓋、快速排錯調(diào)試吠撮、生成詳盡的測試報告尊惰。VU具有極高的測試完整性,能夠?qū)崿F(xiàn)單元測試中的功能測試泥兰、語句覆蓋弄屡、條件覆蓋、分支覆蓋鞋诗、路徑覆蓋等測試膀捷。(4)分析覆蓋率的工具。常見的LogiScope师脂、TrueCoverage担孔、PurecOverage等。(5)靜態(tài)分析工具如pc_lint等吃警。

集成測試

  • 集成測試的主要任務(wù)
    (1)模塊間調(diào)用時數(shù)據(jù)是否丟失糕篇。
    (2)模塊組合后能否實(shí)現(xiàn)預(yù)期功能。
    (3)模塊是否對其他模塊產(chǎn)生負(fù)面影響酌心。
    (4)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否被異常修改拌消。
    (5)模塊的誤差是否累積達(dá)到不可接受的程度。
  • 集成測試實(shí)施方案
    分為非增量式集成測試和增量式集成測試、三明治集成測試墩崩、核心集成測試氓英、分層集成測試、基于使用的集成測試等鹦筹。
    (1)非增量集成測試:對所有模塊進(jìn)行個別的單元測試后铝阐,按程序結(jié)構(gòu)圖將各模塊連接起來,把連接后的程序當(dāng)作一個整體進(jìn)行測試铐拐。
    (2)增量式集成測試:包括自頂向下增量式集成測試和自底向上增量式集成測試徘键。
    自頂向下增量式集成測試表示逐步集成和逐步測試是按結(jié)構(gòu)圖自上而下進(jìn)行的,即模塊集成的順序是首先集成主控模塊(主程序)遍蟋,然后按照軟件控制層次結(jié)構(gòu)向下進(jìn)行集成吹害。從屬于主控模塊的模塊按深度優(yōu)先策略(縱向),或者廣度優(yōu)先策略(橫向)逐步集成到結(jié)構(gòu)中去虚青。自頂向下測試的主要優(yōu)點(diǎn)在于它可以自然地做到逐步求精它呀,一開始便能讓測試者看到系統(tǒng)的框架。它的主要缺點(diǎn)是需要提供被調(diào)用模擬子模塊棒厘,被調(diào)用模擬子模塊可能不能反映真實(shí)情況纵穿,因此測試有可能不充分。并且在輸入/輸出模塊接入系統(tǒng)以前绊谭,在被調(diào)用模擬子模塊中表示測試數(shù)據(jù)有一定困難政恍。由于被調(diào)用模擬子模塊不能模擬數(shù)據(jù)汪拥,如果模塊間的數(shù)據(jù)流不能構(gòu)成有向的非環(huán)狀圖达传,一些模塊的測試數(shù)據(jù)便難以生成。同時迫筑,觀察和解釋測試輸出往往也是困難的宪赶。
    自底向上增量式集成測試是從最底層的模塊開始,按結(jié)構(gòu)圖自下而上逐步進(jìn)行集成并逐步進(jìn)行測試工作脯燃。自底向上測試的優(yōu)點(diǎn)在于搂妻,由于驅(qū)動模塊模擬了所有調(diào)用參數(shù),能夠輕易地生成測試數(shù)據(jù)辕棚。缺點(diǎn):直到最后一個模塊被加入進(jìn)去之后才能看到整個程序(系統(tǒng))的框架欲主。
    (3)三明治集成測試:三明治集成測試是將自頂向下測試與自底向上測試兩種模式有機(jī)結(jié)合起來,采用并行的自頂向下逝嚎、自底向上集成方式扁瓢,形成改進(jìn)的三明治方法。
    (4)核心系統(tǒng)先行集成測試:核心系統(tǒng)先行集成測試法的思想是先對核心軟件部件進(jìn)行集成測試补君,在測試通過的基礎(chǔ)上再按各外圍軟件部件的重要程度逐個集成到核心系統(tǒng)中引几。
    (5)高頻集成測試:高頻集成測試是指同步于軟件開發(fā)過程,每隔一段時間對開發(fā)團(tuán)隊(duì)的現(xiàn)有代碼進(jìn)行一次集成測試挽铁。

系統(tǒng)測試

系統(tǒng)測試的目的在于將通過集成測試的軟件系統(tǒng)與系統(tǒng)的需求定義作比較伟桅,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或矛盾的地方敞掘。

  • 系統(tǒng)測試的測試技術(shù)
    (1)驗(yàn)證測試。驗(yàn)證系統(tǒng)是否正確無誤的實(shí)現(xiàn)了用戶需求規(guī)格說明書的內(nèi)容中的全部內(nèi)容楣铁。
    (2)功能測試玖雁。通過對系統(tǒng)進(jìn)行黑盒測試,測試系統(tǒng)的輸入盖腕、處理茄菊、輸出等各個方面是否滿足需求。主要包括需求規(guī)格定義的功能系統(tǒng)是否都已實(shí)現(xiàn)赊堪、各功能項(xiàng)的組合功能的實(shí)現(xiàn)情況面殖、業(yè)務(wù)功能間存在的功能沖突情況等,比如共享資源訪問以及各子系統(tǒng)的工作狀態(tài)變化對其他子系統(tǒng)的影響等哭廉。
    (3)性能測試脊僚。性能測試檢驗(yàn)安裝在系統(tǒng)內(nèi)的軟件的運(yùn)行性能。
    (4)可靠性遵绰、穩(wěn)定性測試辽幌。在一定負(fù)荷的長期使用環(huán)境下,測試系統(tǒng)的可靠性椿访、穩(wěn)定性乌企。
    (5)兼容性測試。測試系統(tǒng)中軟件與各種硬件設(shè)備的兼容性成玫、與操作系統(tǒng)的兼容性加酵、與支撐軟件的兼容性等。
    (6)恢復(fù)測試哭当≈硗螅恢復(fù)測試是要采取各種人工方法使軟件出錯(而不是能正常工作),進(jìn)而檢驗(yàn)系統(tǒng)的恢復(fù)能力钦勘。
    (7)安全測試陋葡。安全測試是檢查系統(tǒng)對非法侵入行為的防范能力,就是設(shè)置一些企圖突破系統(tǒng)安全保密措施的測試用例彻采,檢驗(yàn)系統(tǒng)是否有安全保密的漏洞腐缤。
    (8)強(qiáng)度測試。強(qiáng)度測試檢驗(yàn)系統(tǒng)的能力最高能達(dá)到什么實(shí)際限度肛响。
    (9)面向用戶支持方面的測試岭粤。主要是面向軟件系統(tǒng)最終的使用操作者的測試。主要檢查測試軟件系統(tǒng)對用戶支持的情況终惑,用戶界面的規(guī)范性绍在、友好性、可操作性以及數(shù)據(jù)的安全性等。
    (10)其他限制條件的測試偿渡。如可使用性臼寄、可維護(hù)性、可移植性溜宽、故障處理能力的測試等吉拳。

驗(yàn)收測試

驗(yàn)收測試通常以用戶或用戶代表為主體來進(jìn)行,按照合同中預(yù)定的驗(yàn)收原則進(jìn)行測試适揉,實(shí)質(zhì)上是用戶用大量的真實(shí)數(shù)據(jù)試用軟件系統(tǒng)留攒。

  • 驗(yàn)收測試的主要內(nèi)容
    主要測試工作包括配置復(fù)審、合法性檢查嫉嘀、文檔檢查炼邀、軟件一致性檢查、軟件功能和性能測試與測試結(jié)果評審等幾項(xiàng)工作剪侮。
    (1)配置復(fù)審的目的在于保證軟件配置齊全拭宁、分類有序,并且包括軟件維護(hù)所必需的細(xì)節(jié)瓣俯。
    (2)合法性檢查:檢查開發(fā)者使用的開發(fā)工具是否合法杰标。對在編程中使用的一些非本單位自己開發(fā)的,也不是由開發(fā)工具提供的控件彩匕、組件腔剂、函數(shù)庫等,檢查其是否有合法的發(fā)布許可驼仪。
    (3)軟件文檔檢查:包括項(xiàng)目實(shí)施計(jì)劃掸犬、詳細(xì)技術(shù)方案、軟件需求規(guī)格說明書(STP)(含數(shù)據(jù)字典)谅畅、 概要設(shè)計(jì)說明書(PDD)登渣、詳細(xì)設(shè)計(jì)說明書(DDD)(含數(shù)據(jù)庫設(shè)計(jì)說明書)噪服、軟件測試計(jì)劃(STP)(含測試用例)毡泻、軟件測試報告(STR)、用戶手冊(SUM)(含操作粘优、使用仇味、維護(hù)、應(yīng)急處理手冊)雹顺、 源程序(SCL)(不可修改的電子文檔)丹墨、 項(xiàng)目實(shí)施計(jì)劃(PIP)、項(xiàng)目開發(fā)總結(jié)(PDS)嬉愧、軟件質(zhì)量保證計(jì)劃(SQAP)贩挣、 軟件配置計(jì)劃(SCMPP)、項(xiàng)目進(jìn)展報表(PPR)、階段評審報表(PRR)等王财。
    (4)軟件代碼測試:包括源代碼一般性檢查和軟件一致性檢查卵迂。源代碼一般性檢查僅對系統(tǒng)關(guān)鍵模塊的源代碼進(jìn)行抽查,檢查模塊代碼編寫的規(guī)范性绒净、批注的準(zhǔn)確性见咒、是否存在潛在性錯誤以及代碼的可維護(hù)性;軟件一致性檢查主要包括編譯檢查挂疆、裝/卸載檢查改览、運(yùn)行模塊檢查。
    (5) 軟件功能和性能測試:對軟件開發(fā)設(shè)計(jì)的再確認(rèn)缤言。包括界面(外觀)測試宝当、可用性測試、 功能測試胆萧、穩(wěn)定性測試今妄、性能測試、 強(qiáng)壯性測試鸳碧、 邏輯性測試盾鳞、 破壞性測試、 安全性測試瞻离。
    (6)測試結(jié)果交付內(nèi)容:測試結(jié)束后腾仅,由測試組填寫軟件測試報告,并將測試報告與全部測試材料一并交給用戶代表套利。測試報告包括下列內(nèi)容:軟件測試計(jì)劃推励、軟件測試日志、軟件文檔檢查報告肉迫、軟件代碼測試報告验辞、軟件系統(tǒng)測試報告、測試總結(jié)報告喊衫、測試人員簽字登記表跌造。
  • \alpha\beta測試
    \alpha測試是在軟件開發(fā)公司內(nèi)模擬軟件系統(tǒng)的運(yùn)行環(huán)境下的一種驗(yàn)收測試族购,即軟件開發(fā)公司組織內(nèi)部人員壳贪,模擬各類用戶行為對即將面市的軟件產(chǎn)品(稱為\alpha版本)進(jìn)行測試,試圖發(fā)現(xiàn)并修改錯誤寝杖。經(jīng)過\alpha測試測試調(diào)整的軟件產(chǎn)品稱為\beta版本违施。緊隨其后的\beta測試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實(shí)際使用\beta版本,并要求用戶報告異常情況瑟幕,提出批評意見磕蒲,一般包括功能性留潦、安全可靠性、易用性辣往、可擴(kuò)充性愤兵、兼容性、效率排吴、資源占用率秆乳、用戶文檔等方面的內(nèi)容,然后軟件開發(fā)公司再對β版本進(jìn)行改錯和完善钻哩。

回歸測試

回歸測試是指軟件系統(tǒng)被修改或擴(kuò)充(如系統(tǒng)功能增強(qiáng)或升級)后重新進(jìn)行的測試屹堰,回歸測試是為了保證對軟件修改以后,沒有引入新的錯誤而重復(fù)進(jìn)行的測試街氢〕都回歸測試應(yīng)保證數(shù)據(jù)中可能影響測試的因素與未經(jīng)修改擴(kuò)充的原軟件上進(jìn)行測試時的那些因素盡可能一致,否則要想確定觀測到的測試結(jié)果是由于數(shù)據(jù)變化引起的還是很困難珊肃。
回歸測試有選擇的執(zhí)行以前的測試用例荣刑,常用的用例選擇方法可以分為以下3種:(1)局限在修改范圍內(nèi)的測試;(2)在受影響功能范圍內(nèi)回歸伦乔;(3)根據(jù)一定的覆蓋率指標(biāo)選擇回歸測試厉亏。該方法一般是在相關(guān)功能影響范圍難以界定的時候使用。最簡單的策略是規(guī)定修改范圍內(nèi)的測試是100%烈和,其他范圍內(nèi)的測試規(guī)定一個用例覆蓋閾值爱只,例如60%。

系統(tǒng)排錯

系統(tǒng)排錯的任務(wù)是根據(jù)測試時所發(fā)現(xiàn)的錯誤招刹,找出原因和具體的位置恬试,并進(jìn)行改正。

  • 排錯過程
    排錯過程有兩種可能疯暑,一種是能確定錯誤原因并進(jìn)行了糾正训柴,為了保證錯誤已排除,需要重新執(zhí)行暴露該錯誤的原測試用例以及某些回歸測試妇拯;另一種是未找出錯誤原因幻馁,那么只能對錯誤原因進(jìn)行假設(shè),根據(jù)假設(shè)設(shè)計(jì)新的測試用例證實(shí)這種推測乖阵,若推測失敗宣赔,需進(jìn)行新的推測,直至找到錯誤并糾正瞪浸。
  • 排錯方法和策略
    常用的系統(tǒng)排錯方法主要有原始類排錯法、試探法吏祸、回溯法对蒲、對分查找法钩蚊、歸納法和演繹法等。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹈矮,一起剝皮案震驚了整個濱河市砰逻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泛鸟,老刑警劉巖蝠咆,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異北滥,居然都是意外死亡刚操,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門再芋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菊霜,“玉大人,你說我怎么就攤上這事济赎〖眩” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵司训,是天一觀的道長构捡。 經(jīng)常有香客問我,道長壳猜,這世上最難降的妖魔是什么叭喜? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮蓖谢,結(jié)果婚禮上捂蕴,老公的妹妹穿的比我還像新娘。我一直安慰自己闪幽,他們只是感情好啥辨,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盯腌,像睡著了一般溉知。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腕够,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天级乍,我揣著相機(jī)與錄音,去河邊找鬼帚湘。 笑死玫荣,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的大诸。 我是一名探鬼主播捅厂,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼贯卦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焙贷?” 一聲冷哼從身側(cè)響起撵割,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辙芍,沒想到半個月后啡彬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡故硅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年庶灿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片契吉。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡跳仿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捐晶,到底是詐尸還是另有隱情菲语,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布惑灵,位于F島的核電站山上,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏英支。R本人自食惡果不足惜佩憾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望干花。 院中可真熱鬧塘幅,春花似錦姥卢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趁怔。三九已至序目,卻和暖如春腥泥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尤慰。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工馏锡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伟端。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓杯道,卻偏偏與公主長得像,于是被迫代替她去往敵國和親荔泳。 傳聞我的和親對象是個殘疾皇子蕉饼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 軟件測試基本技術(shù) 白盒測試 白盒測試可分為靜態(tài)和動態(tài)測試虐杯,動態(tài)測試技術(shù)主要包括程序插樁玛歌、邏輯覆蓋昧港、基本路徑測試等。...
    NJUST江波閱讀 570評論 0 0
  • 一支子、軟件測試概述 1.1 軟件创肥、軟件危機(jī)和軟件工程 程序是指按特定的功能和性能要求而設(shè)計(jì)的能夠執(zhí)行的指令序列;數(shù)據(jù)...
    NJUST江波閱讀 784評論 0 0
  • 哈嘍值朋,大家好叹侄!我是minisummer!首先感謝您的關(guān)注昨登!今天給大家分享的內(nèi)容是軟件測試方法策略:等價類劃分法趾代,邊...
    minisummer閱讀 283評論 0 1
  • 本文主要記錄的是《軟件測試的藝術(shù)》一書的讀書筆記以及相關(guān)的知識,歡迎大家提出自己的觀點(diǎn)丰辣,進(jìn)行討論與分享撒强。持續(xù)更新....
    _陳陌先生_閱讀 6,275評論 3 37
  • 寫在前面的碎碎念: 近日,看了好多文章笙什,也思考了很多飘哨。有些東西,總要實(shí)踐一下嘛琐凭。 想鍛煉文字芽隆,不一定上來就要從自己...
    令狐夢閱讀 515評論 0 0