B/S架構(gòu)的系統(tǒng),都會(huì)使用如下的基礎(chǔ)軟件架構(gòu):
數(shù)據(jù)訪問層:實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問功能,如增加、刪除、修改、查詢數(shù)據(jù)。 業(yè)務(wù)邏輯層:實(shí)現(xiàn)業(yè)務(wù)的具體邏輯功能,如學(xué)生入學(xué)、退學(xué)、成績(jī)管理等。 頁面顯示層:將業(yè)務(wù)功能在瀏覽器上顯示出來,如分頁顯示學(xué)生信息等。 在實(shí)際項(xiàng)目中,可能會(huì)根據(jù)情況在業(yè)務(wù)邏輯層增加層級(jí),對(duì)于軟件測(cè)試,也無非是針對(duì)這3層架構(gòu)進(jìn)行的測(cè)試或者測(cè)試過程中都會(huì)涉及到這3層架構(gòu)。數(shù)據(jù)訪問層: 1. 常出現(xiàn)的問題可能是數(shù)據(jù)庫字段長(zhǎng)度不正確,導(dǎo)致保存的數(shù)據(jù)被截?cái)嗷蛱崾惧e(cuò)誤。 2. 寫入的數(shù)據(jù)正確性。 3. 還常會(huì)出現(xiàn)開發(fā)人員數(shù)據(jù)庫操作時(shí)對(duì)表名和字段名書寫錯(cuò)誤導(dǎo)致功能失效。 4. 部分功能在需要確保一切都沒有問題時(shí)才完成更改,這時(shí)需要涉及到對(duì)事務(wù)處理的正確性。 5. 對(duì)數(shù)據(jù)庫層的exception處理。 6. 數(shù)據(jù)庫設(shè)計(jì)不合理導(dǎo)致性能問題,如數(shù)據(jù)庫完整性設(shè)計(jì)不合理,垃圾數(shù)據(jù)累積導(dǎo)致性能下降,索引的設(shè)計(jì)等。
業(yè)務(wù)邏輯層: 1. 需求制定時(shí)的漏洞,不夠嚴(yán)密,導(dǎo)致開發(fā)的代碼有業(yè)務(wù)需求方面錯(cuò)誤。之前有個(gè)經(jīng)歷就是一個(gè)不懂軟件的老板最初在制定需求時(shí),沒有刪除數(shù)據(jù)的功能,但是后來需要增加刪除數(shù)據(jù)功能,可是未經(jīng)過需求評(píng)審,開發(fā)完成后,提交測(cè)試,對(duì)基礎(chǔ)數(shù)據(jù)刪除后,引用該數(shù)據(jù)的模塊都無法正常工作; 2. 業(yè)務(wù)邏輯和流程與需求不符合,歸結(jié)為開發(fā)人員對(duì)需求的理解不透徹; 3. 其他一些需求沒有達(dá)到要求,如安全,提示信息的標(biāo)準(zhǔn),性能等; 4. 編碼錯(cuò)誤。主要包括局部數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤(變量初始化,地址溢出等等),邊界條件錯(cuò)誤,模塊接口錯(cuò)誤,代碼獨(dú)立路徑錯(cuò)誤,異常處理不恰當(dāng)?shù)鹊龋@就涉及到詳細(xì)的單元測(cè)試和集成測(cè)試了; 5. 軟件設(shè)計(jì)構(gòu)架導(dǎo)致的錯(cuò)誤,如緩存機(jī)制等等,需要從性能和時(shí)效性兩方面著手考慮,否則提交的數(shù)據(jù)不能被及時(shí)看到。 頁面顯示層: 1. 前端JS錯(cuò)誤,如長(zhǎng)度或格式校驗(yàn)錯(cuò)誤等等; 2. 本地化錯(cuò)誤,如用戶使用習(xí)慣不同導(dǎo)致的錯(cuò)誤,多語言翻譯錯(cuò)誤等; 3. 頁面展示,如內(nèi)容顯示不全,顯示錯(cuò)誤,界面顏色不匹配; 4. 易用性不好,如頁面導(dǎo)航錯(cuò)誤,提示語不友好,不易學(xué)等; 5. 兼容性錯(cuò)誤,如分辨率兼容,瀏覽器兼容,鍵盤以及OS的兼容問題。 在平時(shí)的測(cè)試工作中,也經(jīng)常會(huì)遇到除此之外的問題,如配置類的錯(cuò)誤,包括web服務(wù)器的配置,網(wǎng)站config的配置等。這些均會(huì)影響到軟件的可用性。 |
|