Nghiên cứu xây dựng công cụ kiểm thử đột biến các câu lệnh SQL

26 392 1
Nghiên cứu xây dựng công cụ kiểm thử đột biến các câu lệnh SQL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

-1- B GIÁO D C VÀ ĐÀO T O Đ I H C ĐÀ N NG TR N VĂN MINH NGHIÊN C U XÂY D NG CÔNG C KI M TH Đ T BI N CÁC CÂU L NH SQL Chuyên ngành: KHOA H C MÁY TÍNH Mã s : 60.48.01 TÓM T T LU N VĂN TH C SĨ K THU T Đà N ng - Năm 2011 -2Công trình đư c hồn thành t i Đ I H C ĐÀ N NG Ngư i hư ng d n khoa h c: TS NGUY N THANH BÌNH Ph n bi n 1: PGS.TS LÊ VĂN SƠN Ph n bi n 2: TS NGUY N M U HÂN Lu n văn ñư c b o v trư c H i ñ ng ch m Lu n văn t t nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào ngày 16 tháng 10 năm 2011 Có th tìm hi u lu n văn t i: - Trung tâm Thông tin - H c li u, Đ i h c Đà N ng - Trung tâm H c li u, Đ i h c Đà N ng -3- M Đ U Lý ch n ñ tài Ki m th m t nh ng ho t ñ ng quan tr ng ti n trình phát tri n ph n m m Nó góp ph n vào vi c ñánh giá ch t lư ng s n ph m ph n m m Hi n nay, h u h t s n ph m ph n m m ng d ng đ u có s d ng ngơn ng truy v n d li u đ lưu tr qu n lý thơng tin, vi c qu n lý ki m th chúng trình phát tri n ph n m m t n nhi u th i gian.Vì v y, nhu c u có đư c m t h th ng ng d ng ki m th ñ t bi n ñ ñánh giá ch t lư ng b d li u ki m th th c hi n ki m th câu l nh truy v n SQL th c s c n thi t M t khác, hi n v n ñ b n quy n ph n m m ñang v n ñ nan gi i ñ i v i t ch c, ngư i dùng nhu c u s d ng mã ngu n m ñang phát tri n r ng kh p nh m giúp gi m chi phí Xu t phát t nh ng phân tích nh n xét trên, tơi ch n đ tài “Nghiên c u xây d ng cơng c ki m th đ t bi n câu l nh SQL” dư i s hư ng d n c a TS Nguy n Thanh Bình, s giúp gi m th i gian chi phí vi c giám sát ki m th s n ph m ph n m m M c đích ý nghĩa M c đích c a ñ tài nghiên c u ng d ng k thu t ki m th ñ t bi n vào vi c ñánh giá ch t lư ng b d li u ki m th ki m th câu l nh truy v n SQL, t phát hi n -4l i t n t i đ l p trình viên hồn thi n s n ph m c a Ý nghĩa khoa h c: Hi u ñánh giá k thu t ki m th ñ t bi n phương pháp ki m th ñ t bi n câu l nh truy v n SQL K t qu có th làm tài li u tham kh o cho ki m th viên ho c ñơn v phát tri n ph n m m Ý nghĩa th c ti n: Cung c p m t công c ng d ng k thu t ki m th ñ t bi n vào vi c ki m th cho câu l nh truy v n SQL Nhi m v m c tiêu Đ tài t p trung nghiên c u v k thu t ki m th ñ t bi n c u trúc ñ c ñi m c a ngôn ng truy v n d li u SQL đ nh n bi t tốn t ñ t bi n, t ñó ñ xu t gi i pháp xây d ng công c h tr ki m th ñ t bi n câu l nh SQL tri n khai ki m th th c nghi m câu l nh truy v n SQL làm s đ phân tích đánh giá k t qu Đ i tư ng ph m vi nghiên c u Đ tài t p trung nghiên c u ñ i tư ng sau: - K thu t ki m th ñ t bi n - Ngơn ng truy v n có c u trúc - Mã ngu n SQL Parser (GuduSoft.gsqlparser.dll) - K thu t l p trình ngơn ng VS.Net Đ tài thu c ph m vi nghiên c u ng d ng Phương pháp nghiên c u -5- Thu th p phân tích tài li u thơng tin liên quan đ n đ tài - Phân tích thi t k h th ng chương trình ng d ng Th o lu n, l a ch n hư ng gi i quy t v n ñ Tri n khai xây d ng chương trình ng d ng - Ki m tra, th nghi m, nh n xét ñánh giá k t qu D ki n k t qu ñ t ñư c - V m t lý thuy t: N m ñư c ki n th c v k thu t ki m th đ t bi n tốn t ñ t bi n câu l nh truy v n SQL - V m t th c ti n: Xây d ng đánh giá cơng c ki m th áp d ng k thu t ki m th ñ t bi n cho câu l nh truy v n SQL B c c lu n văn Lu n văn ñư c chia thành chương sau: Chương 1: Ki m th ñ t bi n Chương 2: Ki m th ñ t bi n câu l nh truy v n SQL Chương 3: Xây d ng cơng c h tr ki m th đ t bi n câu l nh truy v n SQL -6- CHƯƠNG KI M TH 1.1 Đ T BI N GI I THI U Trong chương này, chúng tơi trình bày chi ti t lý thuy t v ki m th đ t bi n, phân tích ưu c ñi m c a phương pháp Ti p theo, chúng tơi trình bày k thu t ki m th ñ t bi n khác ng d ng ph bi n c a ki m th ñ t bi n th c t 1.2 LÝ THUY T KI M TH Đ T BI N Trư c trình bày lý thuy t ki m th ñ t bi n, b t ñ u b i m t ý tư ng ñơn gi n sau: ñ c lư ng s lư ng cá m t h , m t cách ñ th c hi n vi c đánh d u m t s cá th vào h (gi s , 80 cá), sau đánh b t m t s cá ñ m s cá b ñánh d u N u b t ñư c 50 cá s b đánh d u, v y 1/10 s cá h b ñánh d u, tồn b s cá h có th th ñư c c lư ng 800 N u b t ñư c t t c cá b đánh d u, có th cho r ng tồn b cá h b ñánh b t K thu t ki m th ñ t bi n ñư c xây d ng d a ý tư ng Chúng ta ñưa vào mã ngu n m t s l i “b ñánh d u”, sau tìm cách xác đ nh chúng N u xác ñ nh ñư c t t c l i này, “lư i” c a có th b t đư c nhi u lo i “cá” khác, l i chưa bi t -71.2.1 Khái ni m ki m th ñ t bi n Ki m th ñ t bi n ñư c thi t k nh m t o d li u ki m th có hi u qu , nghĩa phát hi n l i c a chương trình Trong th c hi n ki m th ñ t bi n, t o phiên b n l i c a chương trình g c b ng cách chèn l i vào mã ngu n c a Sau đó, th c thi ki m th v i l n lư t d li u ki m th cho t ng phiên b n l i So sánh k t qu ñ u c a t ng phiên b n l i v i chương trình g c, t đánh giá đư c kh phát hi n l i c a d li u ki m th [3] Các phiên b n l i đư c t o t chương trình g c g i ñ t bi n (mutants) Ki m th ñ t bi n m t k thu t ki m th h p tr ng, hay g i k thu t ki m th c u trúc 1.2.2 Hai gi thuy t b n Ki m th ñ t bi n ñư c xây d ng d a hai gi thuy t b n Gi thuy t “l p trình viên gi i” (competent programmer hypothesis) gi thuy t “hi u ng liên k t” (coupling effect hypothesis) [3] Gi thuy t l p trình viên gi i cho r ng thơng thư ng l p trình viên ñ u r t gi i h s không bao gi vi t chương trình m t cách tuỳ ti n, c u th Gi thuy t hi u ng liên k t cho r ng l i ph c t p ñư c liên k t t l i ñơn gi n, v y b d li u ki m th ñ kh phát hi n t t c l i đơn gi n có kh phát hi n l i ph c t p v i t l cao -81.2.3 M t s khái ni m b n Tốn t đ t bi n Tốn t đ t bi n (mutation operator) hay cịn đư c g i lu t đ t bi n (mutation rule) m t lu t ñư c áp d ng vào chương trình g c đ t o phiên b n ñ t bi n Nó có th vi c thay th m t toán t b ng m t toán t khác; thay đ i tốn h ng c a bi u th c; xố tồn b bi u th c; thay đ i câu l nh… hay có th đư c t o b ng cách thay ñ i nh v cú pháp c a chương trình theo hư ng mà l p trình viên thư ng ph m ph i 1.2.4 Đ t bi n b di t ñ t bi n s ng Khi ti n hành th c thi ki m th l n lư t chương trình g c P đ t bi n P’ c a P v i m t d li u th T, s có hai k ch b n khác có th x y ra: - M t là, ho c l i ñư c chèn vào chương trình đ t bi n P’ đư c nh n bi t, nghĩa chương trình P ñ t bi n P’ cho k t qu khác Trong trư ng h p này, ñ t bi n P’ ñư c g i b di t (killed) b i d li u th T Khi đó, T đư c g i d li u th thích h p có kh phát hi n ñư c s khác gi a chương trình g c P đ t bi n P’ - Hai là, chương trình g c P ñ t bi n P’ cho k t qu hoàn toàn gi ng Trong trư ng h p này, có th có hai kh x y Kh th nh t d li u th T khơng đ t t (hay đư c g i d li u th khơng thích h p), s ph i ti n hành th c hi n ki m th l i v i d li u th t t Kh th hai chương trình -9P đ t bi n P’ nh ng chương trình tương t nhau, m i d li u th đ u khơng th phân bi t s khác gi a chúng Trong c hai trư ng h p này, ñ t bi n P’ đư c cho cịn s ng (alive) 1.2.5 Đ t bi n tương ñương Các ñ t bi n tương ñương (equivalent mutant) ñ t bi n cho k t qu gi ng v i chương trình g c v i m i d li u th ho c cú pháp c a ñ t bi n chương trình g c khác ho t ñ ng tương t M t cách hình th c, nói: đ t bi n tương đương đ t bi n cịn s ng mà m i d li u th T ⊂ D (D, t p d li u th cho P) ñ u xác ñ nh ñư c P P’ tương ñương (P ≡ P’) 1.2.6 T l ñ t bi n T l ñ t bi n (Mutation Score), ñư c ký hi u MS, c a chương trình P d li u th T t l đ t bi n khơng tương đương (so v i chương trình g c) b di t b i d li u th T, đư c mơ t b i công th c sau: MS ( P, T ) = D N −E đó, - D: s ñ t bi n ñã b di t, - N: t ng s ñ t bi n, - E: s ñ t bi n tương ñương Như v y, ≤ MS ≤ hay ≤ MS% ≤ 100 -101.2.7 Chi phí c a ki m th ñ t bi n Chi phí ki m th ñ t bi n t p trung ba bư c t n nh t s n sinh ñ t bi n, biên d ch ñ t bi n ki m th t ng phiên b n ñ t bi n v i d li u ki m th Như v y, s lư ng l n ñ t bi n s làm cho chi phí ki m th đ t bi n r t l n 1.3 TI N TRÌNH KI M TH Đ T BI N G i chương trình g c P, ñ t bi n P’ t p d li u ki m th T Chúng ta có th gi i thích ti n trình th c hi n ki m th ñ t bi n sau: Bư c 1: T o ñ t bi n P’ t chương trình g c P Bư c 2: Sinh d li u ki m th T Bư c 3: Th c hi n chương trình g c P v i m i d li u ki m th Ki m tra k t qu nh n ñư c: - N u ñ u khơng đúng, ph i ch nh s a chương trình g c P ki m th l i - N u ñ u ñúng, th c hi n bư c ti p theo Bư c 4: Th c hi n t ng đ t bi n cịn s ng v i m i d li u ki m th So sánh k t qu th c hi n ñ t bi n v i k t qu th c hi n chương trình g c đ i v i m i d li u th - N u t t c ñ t bi n ñ u b di t Hoàn thành ki m th - N u cịn đ t bi n chưa b di t, chuy n sang bư c ti p theo -12ñ m b o ch t lư ng ki m th , g m k thu t: ñ t bi n l a ch n (selective mutation), l y m u ñ t bi n (mutation sampling) Chi n lư c làm nhanh hơn, hư ng vào t đ ng hố m t s cơng đo n gi m t i k cơng đo n chi m nhi u chi phí tính tốn, g m thu t: th c thi ñ t bi n d a vào gi n ñ (schema-based), phương pháp tách r i biên d ch (separate compilation approach) Ngoài ra, nhi u k thu t khác k thu t gom c m ñ t bi n (clustering of mutants) 1.5.2 Gi m b t cơng đo n th công Vi c phát tri n th công d li u ki m th ñ t bi n m t cách ñ y ñ yêu c u r t nhi u n l c Hơn n a vi c quy t ñ nh phiên b n ñ t bi n tương đương v i chương trình g c r t nhàm chán ho t ñ ng thư ng d n ñ n nhi u sai sót Vi c t đ ng hóa ho t ñ ng s nâng cao hi u qu ch t lư ng c a ki m th ñ t bi n 1.5.3 C i ti n ti n trình ki m th đ t bi n Ti n trình ki m th đ t bi n truy n th ng t n t i m t s v n ñ , th c thi l p l i nh ng ca ki m th , th c thi chương trình g c, … Ti n trình c i ti n đư c đ xu t nh m kh c ph c h n ch nêu Trư c h t, t ñ ng t o m t t p d li u th Các d li u th s đư c th c thi l n lư t v i chương trình g c sau v i chương trình đ t bi n Ki m th viên s ñ nh nghĩa m t giá tr ngư ng, ñó giá tr nh nh t có th ch p nh n ñư c c a t l ñ t bi n N u ngư ng khơng đ t đư c, d li u th khơng di t ñư c ñ t bi n (gi i h n không hi u -13qu ), s b lo i tr Ti n trình s đư c l p l i, v i m i m t th i ñi m s n sinh d li u th ch nh m ñ n ñ t bi n cịn s ng, cho đ n ngư ng t l ñ t bi n ñ t ñư c 1.6 NG D NG C A KI M TH 1.6.1 Đ T BI N Đ t bi n mã ngu n Đ t bi n mã ngu n chương trình đư c áp d ng cho c hai m c ki m th ñơn v ki m th tích h p Đ i v i ki m th m c ñơn v , ñ t bi n đư c t o đ mơ t l i m t ñơn v ph n m m mà l p trình viên th c hi n; đ i v i m c ki m th tích h p, đ t bi n đư c t o đ mơ t l i tích h p b i l i k t n i ho c tương tác gi a ñơn v ph n m m Đ t bi n ñư c áp d ng ngơn ng l p trình ngôn ng Fortran, Ada, C, Java, C#, AspectJ 1.6.2 Đ t bi n ñ c t Ki m th ñ t bi n ñã ñư c ñ xu t áp d ng cho ñ c t thi t k ph n m m Ki m th ñ t bi n áp d ng m c ñ c t thi t k thư ng ñư c g i “ñ t bi n ñ c t " Trong ñ t bi n ñ c t , l i thư ng ñư c phát sinh máy tr ng thái ho c bi u th c lôgic ñ t o ñ t bi n M t ñ t bi n b di t n u ñi u ki n ñ u sai l ch Ki m th ñ t bi n thu c lo i g m đ c t hình th c, môi trư ng th c thi, d ch v Web, h th ng m ng 1.7 T NG K T CHƯƠNG -14- Đ T BI N CÁC CÂU L NH TRUY V N SQL CHƯƠNG KI M TH 2.1 GI I THI U Trong chương này, trư c h t chúng tơi trình bày sơ lư c v s d li u ngôn ng truy v n có c u trúc M t s cơng trình nghiên c u v ki m th s d li u ñư c ñ c p Đ c bi t, chúng tơi phân tích m t s l i n hình câu l nh truy v n s d li u Trên s đó, chúng tơi trình bày ng d ng ki m th ñ t bi n cho câu l nh truy v n 2.2 CƠ S D LI U QUAN H VÀ NGƠN NG TRUY V N CĨ C U TRÚC 2.2.1 Cơ s d li u quan h Cơ s d li u m t t p h p có c u trúc nh ng d li u có liên quan v i Cơ s d li u ñư c s d ng ph bi n hi n s d li u quan h Cơ s d li u quan h s d li u d ng b ng có th d dàng đư c t ch c l i đư c truy v n 2.2.2 Ngơn ng truy v n có c u trúc Ngơn ng truy v n có c u trúc (SQL) ngơn ng thư ng ñư c s d ng ñ ñ nh nghĩa lư c ñ s d li u th c hi n vi c c p nh t, xóa, ch nh s a truy c p d li u lưu tr s d li u Ngơn ng truy v n có c u trúc g m nhóm l nh: -15− Nhóm l nh đ nh nghĩa d li u (Data Definition Language - DDL) − Nhóm l nh thao tác d li u (Data Manipulation Language - DML) Ngồi ra, ngơn ng truy v n có c u trúc cịn có l nh dùng ñ qu n lý quy n, l nh ñ nh nghĩa khung nhìn CREATE VIEW, DROP VIEW; l nh ñi u n giao tác COMMIT, ROLLBACK… L nh truy v n b n SQL Câu l nh truy v n b n ñư c mô t b i m nh ñ SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY Các phép tốn SQL Trong SQL, có hai phép tốn b n: phép tốn lơ-gíc phép tốn quan h Các hàm k t h p Các hàm k t h p AVG, SUM, MAX, MIN, COUNT,… 2.3 KI M TH CƠ S D LI U Phương pháp t o ca ki m th b ng cách xem xét lư c ñ s d li u, thu c tính khác ho c ràng bu c quan h Câu l nh truy v n SQL ñư c chuy n thành d ng ngơn ng l p trình th t c, sau đó, k thu t ki m th thơng thư ng đư c áp d ng ñ ki m th ñánh giá câu l nh SQL -162.4 L I TRONG TRUY V N CƠ S D LI U Các l i truy v n SQL có th chia làm hai lo i: l i cú pháp l i ng nghĩa Các l i cú pháp nghĩa chu i ký t nh p vào không ph i truy v n SQL h p l Các l i ng nghĩa câu truy v n SQL h p l 2.4.1 M nh ñ SELECT 2.4.2 M nh ñ FROM 2.4.3 M nh ñ WHERE 2.4.4 Các hàm k t h p 2.4.5 M nh ñ GROUP BY 2.4.6 M nh ñ ORDER BY 2.4.7 UNION/UNION ALL 2.4.8 Truy v n vi ph m m u chu n 2.4.9 B trùng l p 2.5 KI M TH Đ T BI N CÁC CÂU L NH TRUY V N ng d ng ki m th ñ t bi n cho câu truy v n s d li u g m bư c b n: − Xác ñ nh l i thư ng ph m ph i c a l p trình viên vi t c a câu truy v n − Xây d ng t p tốn t đ t bi n áp d ng cho câu truy v n SQL − Xây d ng công c h tr th c hi n ti n trình ki m th đ t bi n câu truy v n -17− Th nghi m ñánh giá k thu t ki m th ñ t bi n câu l nh truy v n ng d ng s d li u c th 2.6 TOÁN T Đ T BI N CHO CÁC CÂU L NH TRUY V N Các tốn t đ t bi n đư c chia làm b n nhóm: − Tốn t đ t bi n m nh đ (SC - SQL Clause mutation operators); − Tốn t đ t bi n cho toán t xu t hi n ñi u ki n bi u th c (OR - Operator Replacement mutation operators); − Tốn t đ t bi n liên quan ñ n vi c x lý giá tr NULL (NL – NULL mutation operators); − Toán t ñ t bi n thay th ñ nh danh: c t tham chi u, h ng s tham s (IR – Identifier Replacement mutation operators) M i nhóm đ t bi n đư c ký hi u b i tên ng n g n ch g m hai ký hi u m i toán t ñ t bi n nhóm ñư c ký hi u b i tên ng n g n g m ba ký hi u 2.6.1 Tốn t đ t bi n m nh đ (SC) M c đích c a tốn t đ t bi n m nh đ chính, đư c ký hi u SC, đ t bi n nh ng tính khác ngôn ng SQL tương t ngơn ng khác (m nh đ , hàm k t h p, câu truy v n con…) Nh ng tốn t SC góp ph n phát hi n l i ñi u ki n k t n i khơng đúng, s d ng khơng t khóa -18DISTINCT, tính tốn hàm k t h p khơng ho c khơng th t t p k t qu 2.6.2 Tốn t đ t bi n cho ñi u ki n bi u th c (OR) Các tốn t đ t bi n ñi u ki n bi u th c ñư c thi t k nh m phát hi n l i lơ-gíc bi u th c m nh ñ WHERE HAVING 2.6.3 Tốn t đ t bi n giá tr NULL (NL) Trong ngôn ng truy v n SQL, mi n giá tr c a m i thu c tính đư c m r ng thêm ký hi u ñ c bi t NULL ñ bi u th cho m i giá tr d li u ñư c hi u khơng đư c đ nh nghĩa, ho c khơng thích h p, ho c khơng xác đ nh Vi c x lý giá tr NULL khơng có th d n đ n k t qu khơng lư ng trư c đư c Do đó, đ t bi n có liên quan đ n giá tr NULL c n ph i ñư c xem xét ñ phát hi n lo i l i 2.6.4 Toán t ñ t bi n ñ nh danh (IR) Các tốn t đ t bi n IR thay th ñ nh danh c t, h ng tham chi u tham s c a truy v n Vì v y, tốn t đ t bi n có kh phát hi n l i s d ng khơng trư ng 2.7 T NG K T CHƯƠNG -19CHƯƠNG XÂY D NG CÔNG C KI M TH BI N CÁC CÂU L NH SQL 3.1 Đ T GI I THI U Cơng c dùng đ phân tích c u trúc l nh SQL, sinh ñ t bi n, th c thi ñ t bi n, nh m giúp ñánh giá ch t lư ng c a câu l nh b d li u ki m th Công c s d ng b mã ngu n gsqlparser for Net đ phân tích c u trúc l nh SQL s d ng ngôn ng C# th c thi môi trư ng NetFrameWork Công c t o ñ t bi n b ng cách chèn l i vào câu l nh g c, th c thi l n lư t câu l nh g c câu l nh ñ t bi n vào b d li u th , t đánh giá ch t lư ng c a câu l nh SQL ch t lư ng c a b d li u th 3.2 GI I PHÁP Trên s phân tích đ t bi n câu l nh truy v n s d li u SQL chương 2, chúng tơi đ xu t thu t tốn xây d ng cơng c ki m th đ t bi n cho câu l nh SQL sau Bư c Nh n câu l nh SQL vào, ki m tra, phân tích cú pháp câu l nh lưu dư i d ng cú pháp XML Bư c Th c hi n ñ t bi n câu l nh SQL t o t p h p ñ t bi n c a câu l nh SQL g c Bư c Th c hi n vòng l p g m bư c sau: a Th c thi câu l nh SQL ñ t bi n -20b c N u k t qu khác đ t bi n b di t, n u ngư c l i s ñánh d u câu l nh ñ t bi n xem xét tính tương đương câu câu l nh đ t bi n v i câu l nh g c d 3.3 So sánh k t qu th c thi câu l nh ñ t bi n k t qu th c thi câu l nh g c Bư c K t thúc trình, xu t báo cáo sơ b g m thông tin v s lư ng ñ t bi n sinh ra, s lư ng ñ t bi n b di t t l đ t bi n CƠNG NGH Cơng ngh s d ng: - H ñi u hành: Microsoft Windows Server, Windows XP, Windows 7, … - Công ngh Net FrameWork 3.5 3.4 H qu n tr s d li u: MS SQL Server 2008 Mã ngu n SQL Parser (gudusoft.gsqlparser.dll) KI N TRÚC CÔNG C C t lõi c a h th ng b s n sinh ñ t bi n, nghĩa t o ñ t bi n c a câu l nh truy v n s d li u Đ sinh đ t bi n, b phân tích cú pháp phân tích câu l nh truy v n g c t o cú pháp tương ng T cú pháp, b sinh ñ t bi n th c hi n tốn t đ t bi n ñ t o ñ t bi n c a câu l nh truy v n g c Sau ñó, m i ñ t bi n câu l nh truy v n g c s ñư c th c thi b d li u th đ tính t l ñ t bi n -213.5 B PHÂN TÍCH CÚ PHÁP B phân tích chuy n câu l nh truy v n SQL g c sang ñ nh d ng tài li u XML b ng cách thay th t khóa c a câu l nh b ng ph n t XML t ch c l i tài li u XML theo th t phù h p v i c u trúc c a câu truy v n SQL Các t khóa đư c bi u di n b i ph n t tên c t, tên b ng, tham s h ng s ñư c bi u di n b i thu c tính text c a ph n t XML Câu l nh SQL sau ñư c b phân tích phân tích s t o cú pháp truy v n ng v i ki u m nh ñ sau: TSelectSqlStatement, TDeleteSqlStatement, TUpdateStatement,… tuỳ theo ñ u vào c a k ch b n SQL m nh Select, Delete, Update hay Insert, 3.6 B SINH Đ T BI N B sinh ñ t bi n nh n ñ u vào lư c ñ s d li u câu l nh truy v n SQL, t p nhóm tốn t đ t bi n đ phân tích câu l nh truy v n chuy n tài li u XML c a câu l nh truy v n vào mơ hình DOM B sinh đ t bi n s t qua ph n t mơ hình DOM b t g p m t ph n t ho c thu c tính text c a m t nút th c hi n bư c sau: - Xác ñ nh ph m vi - Ch n c t - Áp d ng tốn t đ t bi n Trong b sinh ñ t bi n s n sinh m i đ t bi n s g i th c thi b ghi ñ t bi n ñ lưu l i đ t bi n Các đ t bi n ñư c lưu m t t p tin tài li u XML -223.7 B TH C THI Đ T BI N B s n sinh th c thi nh ng đ t bi n hồn tồn t đ ng m t cơng c đ t bi n SQL Thu th p thông tin v lư c ñ s d li u, t i vào s d li u ki m th , ñi u n s thay ñ i d li u cài ñ t tham s ghi vào tài li u XML Cú pháp câu truy v n ñư c phân tích ghi vào tài li u XML m i ph n t m t ti n trình M i ti n trình, c truy v n lư c ñ s d li u ñư c xem xét ñ t bi n ñư c s n sinh b ng cách áp d ng lu t trình bày 3.8 TH Cu i cùng, ñ t bi n ñư c th c thi NGHI M VÀ ĐÁNH GIÁ K T QU Trong ph n th nghi m này, l a ch n môi trư ng ki m th b d li u th sau: H qu n tr s d li u: MS Server SQL 2008 B d li u th : H s d li u khách hàng s d ng d ch v vi n thông, g m th c th sau: Danh b khách hàng Danh b toán Danh b thuê bao Đ i tư ng thuê bao D ch v vi n thơng Lư c đ s d li u -23- Hình 3.6 Lư c đ s d li u Tốn t đ t bi n + Tốn t đ t bi n m nh đ SC g m: tốn t SEL, JOI, ARG, + Tốn t đ t bi n cho ñi u ki n bi u th c OR g m toán t ROR, LCR, AOR, UOI, ABS, LKE,, BTW, + Tốn t đ t bi n giá tr NULL g m toán t NLI, NLO, NLF, + Tốn t đ t bi n đ nh danh IRC 3.9 T NG K T CHƯƠNG -24- K T LU N Ki m th ph n m m m t nh ng khâu quan tr ng c a quy trình xây d ng ph n m m nh m ki m tra xem ph n m m làm có nh ng l i c n kh c ph c Ki m th không th ch ng minh ñư c ph n m m h t l i mà ch giúp cho ngư i vi t mã tìm có bi n pháp kh c ph c nhi u l i t t, góp ph n đánh giá ch t lư ng s n ph m ph n m m Ki m th ñ t bi n ñư c xem m t nh ng k thu t ki m th h p d n ñ y h a h n, gi i quy t v n đ t t hay khơng t t c a b d li u ki m th ñ t yêu c u hi u cao nh ng cơng c h tr đ t o nh ng ñ t bi n th c thi chúng Tuy nhiên, ki m th đ t bi n cịn khó áp d ng vào th c t Ki m th viên thư ng th y khó khăn đ áp d ng vào thay vào d a vào nh ng ki n th c kinh nghi m thi t k nh ng ca ki m th K t qu ñ t ñư c Trong khuôn kh m t lu n văn th c sĩ, sau ti n hành tìm hi u nghiên c u v ki m th ph n m m, k thu t ki m th ñ t bi n ki m th ñ t bi n câu l nh truy v n, h c viên ñã ñ t ñư c m t s k t qu nh t ñ nh sau: - V m t nghiên c u lý thuy t: N m ñư c b n v k thu t ki m th ñ t bi n, m t k thu t nh m ñánh giá ch t lư ng c a b d li u ki m th Qua đó, cho th y có r t nhi u cơng trình nghiên c u v -25ki m th ñ t bi n nh m c i ti n nâng cao hi u qu c a ki m th ñ t bi n, m r ng kh ng d ng c a ki m th đ t bi n Đi u th hi n r ng ki m th ñ t bi n m t nh ng k thu t ki m th đóng vai trị r t quan tr ng ñư c ng d ng r t r ng rãi, t m c mã ngu n ñ n m c ñ c t - V m t ng d ng th c ti n: D a nh ng nghiên c u v k thu t ki m th ñ t bi n, gi i pháp c i ti n nâng cao hi u qu c a ki m th ñ t bi n ñ ng th i phân tích tốn t đ t bi n câu l nh SQL, h c viên ñã ñ gi i pháp xây d ng công c h tr ki m th ñ t bi n câu l nh SQL nh m ñánh giá ch t lư ng b d li u ki m th Cơng c có th đư c s d ng ñ nghiên c u ki m th ng d ng s d li u cho ñánh giá tính đ y đ c a nh ng ca ki m th , so sánh v i k thu t khác Đ ng th i k t qu nghiên c u có th cung c p m t gi i pháp sơ b v vi c ng d ng ki m th ñ t bi n ñ làm tài li u tham kh o áp d ng th c t cho ñơn v phát tri n ph n m m ñang c n nâng cao ch t lư ng ki m th s n ph n ph n m m H n ch Do th i gian tìm hi u nghiên c u có h n nên ñ tài ch m i t p trung vào vi c phân tích tốn t đ t bi n s chung c a ngôn ng truy v n SQL chưa sâu vào tốn t riêng bi t c a t ng h th ng s d li u hi n Oralce, MS Server SQL, MySQL, … -26Công c phát tri n đ c l p chưa tích h p vào nh ng ng d ng qu n lý có s d ng ngôn ng truy v n d li u dị tìm l nh truy v n t đ ng đ phân tích s n sinh ñ t bi n m t cách t ñ ng nh m giúp cho ki m th viên ki m th mã ngu n m t s n ph m ti t ki m th i gian công s c Hư ng phát tri n M c dù ñã th c hi n n i dung b n v k thu t ki m th ñ t bi n, phân tích đ t bi n tốn t câu l nh SQL xây d ng cơng c h tr ki m th đ t bi n câu l nh SQL v n hành thành cơng Tuy nhiên, đ có th hồn thi n t t hơn, ñ tài c n nghiên c u b sung thêm n i dung sau: - Áp d ng k thu t c i ti n ti n trình ki m th đ t bi n, t đ ng t o m t t p d li u th Các d li u th s ñư c th c thi l n lư t v i chương trình g c sau v i chương trình đ t bi n - M r ng áp d ng ki m th ñ t bi n t ng h th ng s d li u Oracle, MS Server SQL, MySQL, … - Tích h p cơng c vào nh ng ng d ng qu n lý s d ng ngôn ng truy v n ñ ki m th ... pháp xây d ng công c h tr ki m th ñ t bi n câu l nh SQL tri n khai ki m th th c nghi m câu l nh truy v n SQL làm s đ phân tích đánh giá k t qu Đ i tư ng ph m vi nghiên c u Đ tài t p trung nghiên. .. cho câu l nh SQL sau Bư c Nh n câu l nh SQL vào, ki m tra, phân tích cú pháp câu l nh lưu dư i d ng cú pháp XML Bư c Th c hi n ñ t bi n câu l nh SQL t o t p h p ñ t bi n c a câu l nh SQL g c Bư... n gsqlparser for Net ñ phân tích c u trúc l nh SQL s d ng ngôn ng C# th c thi môi trư ng NetFrameWork Công c t o ñ t bi n b ng cách chèn l i vào câu l nh g c, th c thi l n lư t câu l nh g c câu

Ngày đăng: 31/12/2013, 09:34

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan