CHƯƠNG 6: · Web viewBộ sinh tệp kiểm thử. Những bộ xử lý này sinh ra, và...

32
CHƯƠNG 6 KIỂM TRA CHẤT LƯỢNG PHẦN MỀM Như đã nói ở trước, sản phẩm phần mềm được gọi là đúng nếu nó thực hiện được chính xác những tiêu chuẩn mà người thiết kế đã đặt ra. Để có một đánh giá chính xác về cấp độ đúng của phần mềm, ta phải kiểm tra chất lượng phần mềm. Như thế, kiểm tra là quá trình tìm lỗi và nó là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hoá. Mục đích của kiểm tra là đảm bảo rằng tất cả các thành phần của ứng dụng ăn khớp, vận hành như mong đợi và phù hợp các tiêu chuẩn thiết kế. Trong chương này, chúng ta thảo luận các chiến lược kiểm tra phần mềm và các kỹ thuật, phương pháp hiệu quả cho mỗi mức độ kiểm tra. Cuối cùng, các công cụ hỗ trợ kiểm tra tự động và các công cụ hỗ trợ kiểm tra độc lập được trình bày để hỗ trợ cho quá trình kiểm tra. 6.1. ĐỘ TIN CẬY CỦA PHẦN MỀM 6.1.1. Chất lượng phần mềm và việc đảm bảo chất lượng phần mềm Kiểm tra chất lượng phần mềm là một hoạt động khó khăn để chấp nhận về mặt ý thức vì chúng ta đang cân nhắc công việc của chúng ta hoặc của đồng nghiệp để tìm lỗi. Sau quá trình làm việc trong nhóm và trở thành thành viên, chúng ta ngại tìm ra lỗi và không phát hiện được ra chúng thông qua kiểm tra. Khi một người nào đó tiến hành kiểm tra lại không phải là thành viên của dự án, ví dụ một chuyên gia kiểm tra, họ được nhìn nhận như là một kẻ thù. Thêm vào đó, kiểm tra chất lượng phần mềm lại là một hoạt động khó được chấp nhận đối với việc quản lý vì nó 119

Transcript of CHƯƠNG 6: · Web viewBộ sinh tệp kiểm thử. Những bộ xử lý này sinh ra, và...

CHNG 6:

Chng 6: Kim tra cht lng phn mm

CHNG 6

KIM TRA CHT LNG PHN MM

Nh ni trc, sn phm phn mm c gi l ng nu n thc hin c chnh xc nhng tiu chun m ngi thit k t ra. c mt nh gi chnh xc v cp ng ca phn mm, ta phi kim tra cht lng phn mm. Nh th, kim tra l qu trnh tm li v n l mt nh gi cui cng v cc c t, thit k v m ho. Mc ch ca kim tra l m bo rng tt c cc thnh phn ca ng dng n khp, vn hnh nh mong i v ph hp cc tiu chun thit k.

Trong chng ny, chng ta tho lun cc chin lc kim tra phn mm v cc k thut, phng php hiu qu cho mi mc kim tra. Cui cng, cc cng c h tr kim tra t ng v cc cng c h tr kim tra c lp c trnh by h tr cho qu trnh kim tra.

6.1. TIN CY CA PHN MM

6.1.1. Cht lng phn mm v vic m bo cht lng phn mm

Kim tra cht lng phn mm l mt hot ng kh khn chp nhn v mt thc v chng ta ang cn nhc cng vic ca chng ta hoc ca ng nghip tm li. Sau qu trnh lm vic trong nhm v tr thnh thnh vin, chng ta ngi tm ra li v khng pht hin c ra chng thng qua kim tra. Khi mt ngi no tin hnh kim tra li khng phi l thnh vin ca d n, v d mt chuyn gia kim tra, h c nhn nhn nh l mt k th.

Thm vo , kim tra cht lng phn mm li l mt hot ng kh c chp nhn i vi vic qun l v n tn km, mt thi gian v him khi pht hin c li. Kt qu l phn ln cc ng dng khng c kim tra y v c pht hnh vi li tim n.

Tuy vy, cht lng phn mm cao l mt mc tiu quan trng ca nhm pht trin phn mm. Do vy, cn v phi m bo cc tiu chun ca phn mm nh cp chng 2. m bo cht lng phn mm l mt hot ng c h thng v k hoch. N bao gm nhiu nhim v lin kt vi cc hot ng chnh sau:

+ p dng cc phng php k thut,

+ Tin hnh cc cuc xt duyt k thut chnh thc,

+ Kim th phn mm,

+ Buc tn trng cc chun,

+ Kim soat thay i,

+ o cht lng,

+ Bo co, lu gi kt qu.

Theo chun ANSI/IEEE, k hoch m bo cht lng phn mm nh sau:

I. Mc ch ca k hoch

II. Tham kho

III. Qun l

A. T chc

B. Nhim v

C. Trch nhim

IV. Ti liu

A. Mc ch

B. Ti liu cng ngh phn mm cn thit

C. Cc ti liu khc

V. Chun, thc hnh v quy c

A. Mc ch

B. Quy c

VI. Xt duyt v kim ton

A. Mc ch

B. Cc yu cu xt duyt

1. Xt duyt yu cu phn mm

2. Xt duyt thit k

3. Kim chng phn mm v xt duyt hp l

4. Kim ton chc nng

5. Kim ton vt l

6. Kim ton trong tin trnh

7. Xt duyt qun l

VII. Qun l cu hnh phn mm

VIII. Bo co vn v cch sa cha

IX. Cng c, k thut v phng php lun

X. Kim sot m

XI. Kim sot phng tin

XII. Kim sot ngi cung cp

XIII. Thu thp bo tr v ghi nh bo co

Vic m bo cht lng phn mm l mt hot ng bn cht cho bt k nhm pht trin phn mm no sn xut ra phn mm cho ngi s dng.

6.1.2. tin cy ca phn mm

6.1.2.1. Cc li thng gp

Khi phn tch cht lng, phn mm thng gp mt s li nh:

+ Li chin lc: thit k sai

+ Phn tch cc yu cu khng y hoc lch lc

+ Hiu sai v cc chc nng

+ Vi phm nguyn l i tng

+ Li ti cc th tc chu ti, y l nhng li nng.

+ Li ly lan: li c truyn t chng trnh ny sang chng trnh khc

+ Li c php: vit sai quy nh ca ngn ng.

+ Hiu ng ph: li xy ra khi mt n v chng trnh lm thay i gi tr ca mt bin ngoi kin ca lp trnh vin.

Cc li ca phn mm tun theo nguyn l mc li:

a) Mc chu ti tng theo chiu i xung: li pht ra mc di c xem l nng hn mc trn.

b) Li nng nht nm mc cao nht ( thit k ) v mc thp nht (th tc chu ti ln nht)

Do vy, khi pht trin phn mm, cn m bo nguyn l an ton l: Mi li d nh ln u phi c pht hin mt bc no ca chng trnh, trc khi li honh hnh.

6.1.2.2. tin cy ca phn mm

tin cy ca mt h phn mm l o v mc tt ca cc dch v m h cung cp cho my tnh. Cn ch l ngi dng khng xt rng cc dch v l qun trng nh nhau: chng hn mt h iu khin my bay c th rt, rt him khi tht bi, nhng nu chng c tht bi gy ra tai nn my bay th cc ngi b nn v thn nhn ngi b nn khng th xem h l ng tin.

tin cy l mt c trng ng ca h thng, n l mt hm ca s cc tht bi phn mm. Mt tht bi phn mm l mt s kin thi hnh m khi phn mm hnh x khng nh ngi ta mong i. Ch rng mt tht bi phn mm khc nt h hng phn mm. H hng phn mm l mt c trng tnh, v n s gy ra tht bi phn mm khi m m li c thi hnh vi mt tp hp c bit cc thng tin vo. Cc h hng khng phi lun lun xut u l din, v vy tin cy ph thuc vo vic s dng h thng nh th no. Khng th a ra mt pht biu n gin v khi qut v tin cy phn mm.

Cc h hng phn mm khng phi l cc khuyt tt ca chng trnh. Mt hnh x bt ng c th xy ra khi m phn mm ph hp vi cc yu cu ca n, nhng m chnh cc yu t li khng y . Cc sai st trong cc t liu phn mm cng c th dn n cc hnh vi bt ng mc du rng phn mm khng c khim khuyt.

C cng trnh nghin cu ch ra rng c th rt b 60% cc khim khuyt m ch c th ci to c 3% tin cy. Cng c ngi ch rng nhiu khim khuyt trong sn phm ch l kt qu ca hng trm hoc hng nghn thng s dng.

6.1.2.3. Mt s nh gi v tin cy

1. c t tin cy phn mm: gm cc bc

+ Phn tch h qu ca cc tht bi.

+ Chia cc tht bi thnh cc nhm khc nhau.

+ Thit lp cc yu cu v tin cy bng cch s dng cc o thch hp cho tng loi.

2. o tin cy: theo mt vi cch o nh sau

+ Xc sut tht bi tnh theo i hi.

+ T l xut hin tht bi

+ Thi gian trung bnh gia hai tht bi k tip nhau.

+ o mc sn sng hot ng ca h.

3. Th nghim tnh

Mc tiu ch yu ca th nghim tnh l xc nh tin cy ca phn mm ch khng phi l xc nh cc h hng phn mm.

Qu trnh th nghim tnh lin quan n 4 bc sau:

i) Xc nh o thao tc phn mm. o thao tc l mt mu s dng phn mm v xc nh mu lin quan n vic pht hin cc lp thng tin vo ca chng trnh v c tnh xc sut ca chng.

ii) Chn ra hoc sinh ra mt tp cc d liu th tng ng vi o .

iii) p dng cc trng hp th chng trnh, ghi li di thi gian thi hnh gia mi cp tht bi quan st c. Thch hp hn l dng thi gian th, vi n v thi gian thch hp cho o mc tin cy.

iv) Tnh ton o mc tin cy sau mt s ng k (v mt thng k) cc tht bi quan st c.

4. An ton phn mm

C nhng h thng m tht bi ca n c th gy ra mt mi e da tnh mng con ngi. Th d v h thng an ton sinh mnh nh vy l h thng iu khin my bay.

C hai lp phn mm an ton sinh mnh.

i) Cc phn mm an ton sinh mnh s cp: cc phn mm lng nhng trong mt h phn cng dng iu khin qu trnh khc m s lm vic sai st ca n c th trc tip gy ra thng vong hoc ph hy mi trng sng ca con ngi.

ii) Cc phn mm an ton sinh mnh th cp: cc phn mm c th gin tip gy ra thng vong. Th d h thng phn mm tr gip thit k k thut, h thng c s d liu y t lin quan n cc cht c bng A.

5. Th nghim khim khuyt

Th nghim chng trnh c hai mc ch: th nht l ch ra rng h thng l ph hp vi cc c t ca n, th hai l thc hnh h thng theo mt cch sao cho cc khuyt tt c phi ra. Cc th nghim vi mc ch th nht chnh l cc thm nh, n l cc th nghim chp nhn. Cc th nghim cho mc ch th hai li khc hn: th nghim thnh cng nht l th nghim phi ra c nhiu khuyt tt nht.

Cc th nghim c th c pht trin song song vi vic thit k v thc hin bi nhng ngi khng dnh dng ti vic thit k.

6.1.2.4. Lp trnh v tin cy

Lp trnh l mt l mt cng on ph thuc nhiu vo k xo c nhn, s ch n cc chi tit v kin thc v vic lm nh th no s dng cc cng c sn c theo cch thc tt nht. Nhu cu cc h thng ng tin l ang tng ln v vy cn c cc k thut chuyn bit nhm t c mt h thng tin cy c. Hin nay, c hai k thut tng tin cy phn mm khi vit cc chng trnh ng dng l: trnh li v tha th li.

1. Trnh li

Tt c cc k s phn mm hn u mun sn ra cc phn mm khng c li. Mt qu trnh pht trin da vo vic pht hin li v tr kh li ch khng phi l trnh li l mt qu trnh km ci v li thi.

Phn mm khng c li y l phn mm tun theo ng c t. Ni chung, n c th c li trong c t hoc c th khng phn nh ng cc nhu cu ca ngi s dng vy l phn mm khng c li khng nht thit l cc phn mm lun lun hnh x nh ngi dng d on.

Vic pht trin phn mm khng c li l mt vic rt t , v khi m mt s li c tho khi chng trnh th gi c cho vic tm v tho li cn li c xu hng tng theo hm s m. Do mt t chc c th quyt nh chp nhn mt vi li cn lu li. Tnh v mt gi c th th rng chu tin chi tr cho cc tht bi ca h thng do cc li gy ra cn hn l i pht hin tho g cc li trc khi phn phi.

Trnh li v pht trin phn mm v li da trn:

+ Sn phm ca mt c t h thng chnh xc.

+ Chp nhn mt cch tip cn thit k phn mm da trn vic che du thng tin v bao gi thng tin.

+ Tng cng vic duyt li trong qu trnh pht trin v thm nh h phn mm.

+ Chp nhn trit l cht lng t chc: cht lng l bnh li ca qu trnh pht trin phn mm.

+ Vic lp k hoch cn thn cho vic th nghim h thng trng ra cc li m cc li ny cha c pht hin trong qu trnh duyt li v nh lng tin cy ca h thng.

2. Th li

Ngay vi mt h v li th vn cn mt tin ch th li: l v c th c cc li c t. Mt tin ch th li l cn thit cho mt h thng ng tin cy.

C bn hot ng cn phi tin hnh nu h thng phi l th li:

+ Pht hin li

+ nh ra mc thit hi

+ Hi phc sau khi gp li. H thng phi hi phc v trng thi m n bit l an ton. Cng c th l chnh l trng thi b hy hoi (hi phc tin), cng c th l lui v mt trng thi trc m an ton (hi phc li).

+ Cha li. Ci tin h thng cho li khng xut hin na. Trong nhiu trng hp s tht bi ca phn mm l tng hnh v gy ra bi mt t hp c bit ca thng tin vo.

3. X l bt thng

Mt sai loi no hoc mt s c bt ng xut hin th ta gi chng l mt bt thng. Cc bt thng c th do phn cng cng c th do phn mm. Khi m mt bt thng khng c d on th b iu khin s chuyn cho c ch x l bt thng h thng. Nu mt bt thng c d on th m phi bao gm c vic pht hin v vic x l bt thng .

Hu ht cc ngn ng lp trnh l khng c cc tin ch pht hin v x l bt thng.

Cc bt thng c th c ghi li bng cch dng mt bin Logic nhm ch ra rng c mt bt thng xut hin.

4. Lp trnh phng th

Lp trnh phng th l cch pht trin chng trnh m ngi lp trnh gi nh rng cc mu thun hoc cc li cha c pht hin c th tn ti trong chng trnh. M s c phn kim tra trng thi h thng sau khi bin i v phi m bo rng s bin i trng thi l kin nh. nu pht hin mt mu thun th vic bin i trng thi l phi rt li v trng thi phi tr v trng thi ng n trc .

Lp trnh phng th l mt cch th li, m c tin hnh khng cn b iu khin th li. V c bn qu trnh vn l: pht hin li, nh gi li, v phc hi sau li. Ni chung mt li gy ra mt s sp trng thi: cc bin trng thi c gn cc tr khng hp lut. Ngn ng lp trnh nh Ada cho php pht hin cc li ngay trong thi gian bin dch. Tuy nhin vic kim tra bin dch ch hn ch cho cc gi tr tnh v mt vi php kim tra thi gian thc l khng th trnh c.

Mt cch pht hin li trong chng trnh Ada l dng c ch x l bt thng kt hp vi c t min tr.

Hi phc li l mt qu trnh ci bin khng gian trng thi ca h thng sao cho hiu ng ca li l nh nht v h thng c th tip tc vn hnh, c l l trong mt mc suy gim. Hi phc tin lin quan n vic c gng chnh li trng thi h thng. Hi phc li lin quan n vic lu trng thi ca h thng mt trng thi ng bit.

Hi phc tin thng l mt chuyn bit ng dng, m kin thc min c s dng tnh ra cc s chnh l c th. Tuy nhin c hai tnh th chung m khi hi phc tin c th thnh cng:

1) Khi d liu m b sp. Vic s dng m ha thch hp bng cch thm cc d liu d tha vo d liu cho php sa sai khi pht hin li.

2) Khi cu trc ni b sp. Nu cc con tr tin v li c trong cu trc d liu th cu trc c th ti to nu nh cn cc con tr cha b sp. K thut ny thng c dng cho vic sa cha h thng tp v c s d liu.

Hi phc li l mt k thut n gin lin quan n vic duy tr cc chi tit ca trng thi an ton v ct gi trng thi khi m mt sai b pht hin. Hu ht cc h qun tr c s d liu u c b phc hi li. C s d liu ch cp nht d liu mt khi giao dch hon tt v khng pht hin c vn g. Nu giao dch tht bi th c s d liu khng c cp nht.

Mt k thut khc l thit lp cc im kim tra thng k m chng l cc bn sao ca trng thi h thng. Khi m mt li c pht hin th trng thi an ton c ti lu kho t im kim tra gn nht.

Khng may l khi h thng dnh lu ti nhiu qu trnh hp tc th dy cc thao tc c th l cc im kim tra ca cc qu trnh l khng ng b v phc hi th mi qu trnh phi ln tr li trng thi ban u ca n.

6.2. KIM TRA V CC CHIN LC KIM TRA PHN MM

6.2.1. c im ca kim tra phn mm

Xc minh v thm nh mt h phn mm l mt qu trnh lin tc xuyn sut mi giai on ca qu trnh phn mm. Xc minh v thm nh l t chung cho cc qu trnh kim tra m bo rng phn mm tha mn cc yu cu ca chng v cc yu cu tha mn cc nhu cu ca ngi sm phn mm.

Xc minh v thm nh l mt qu trnh ko di sut vng i. N bt u khi duyt xt yu cu. Xc minh v thm nh c hai mc tiu:

i) Pht hin cc khuyt tt trong h thng.

ii) nh gi xem h thng liu c dng c hay khng?

S khc nhau gia xc minh v thm nh l:

i) Thm nh: Xem xt ci c xy dng c l sn phm ng khng? Tc l kim tra xem chng trnh c c nh mong i ca ngi dng hay khng.

ii) Xc minh: Xem xt ci c xy dng c ng l sn phm khng? Nh th, xc minh l kim tra chng trnh c ph hp vi c t hay khng.

Nh trn, kim tra l mt qu trnh ca tm kim li. Mt kim tra tt c kh nng cao tm kim cc li cha c pht hin. Mt kim tra thnh cng l kim tra tm ra cc li mi, mt kim tra ti l kim tra m khng tm c li.

C hai kiu li trong ng dng v cc kim tra tt s xc nh c hai loi . C th:

Khng lm nhng iu cn phi lm: li b st thng xut hin i vi ng dng mi c pht trin.

Lm nhng iu khng cn lm: li ca lnh c tr trc trong cc ng dng bo tr.

Cc kim tra c mt ti cc mc khc nhau v c tin hnh bi cc c nhn khc nhau trong qu trnh pht trin ng dng. Cc kim tra c tin hnh bi i ng d n v kim tra c tin hnh bi cc c quan bn ngoi chp nhn ng dng.

Cc kim tra ca i d n c gi l kim tra pht trin (Development test). Kim tra pht trin bao gm kim tra n v, kim tra h thng con, kim tra tch hp v cc kim tra h thng.

Kim tra n v (Unit test) c tin hnh cho mi n v m nh nht.

Kim tra tch hp (Subsystem integration test) kim tra mt logic v x l cho ph hp ca cc khi, kim tra vic truyn tin gia chng.

Kim tra h thng (System test) nh gi cc c t chc nng c c p ng, cc thao tc giao din ngi c ging thit k khng, v cc cng vic ca ng dng trong mi trng thao tc mong mun, i vi cc rng buc.

Cc kim tra bi cc c quan bn ngoi c gi l m bo cht lng (Quality assurance-QA) v kim tra chp nhn (Acceptance test). Ngi ngoi c th l ngi s dng hoc i din ngi dng, n to mt mc ch, nh gi khch quan v ng dng v c quan bn ngoi c coi l c mc ch hn cc thnh vin nhm.

Kim tra m bo cht lng tng t cc kim tra h thng v mt mc ch v tin hnh, nhng n khc l h nm ngoi s iu khin ca d n trng. Cc bo co kim tra m bo cht lng c gi thng xuyn ti nhm pht trin v qun l d n. Cc kim tra vin m bo cht lng lp k hoch cho chin lc ca mnh v tin hnh kim tra m bo cc ng dng thc hin tt c cc chc nng cn thit. Kim tra m bo cht lng l kim tra cui cng c lm trc khi ng dng c a sn xut i tr.

Quan h gia cc mc kim tra v cc giai on trong vng i ca chng trnh c trnh by nh sau:

Mi mc kim tra i hi xc nh chin lc kim tra. Chin lc kim tra hp trng hoc kim tra hp en.

D liu vo c to theo thit k sinh ra cc d liu ra khc nhau m khng ch ti cc chc nng logic thc hin th no. Cc kt qu c d on v so snh vi cc kt qu thc t nh gi mc thnh cng.

Chin lc White-box m hp v nhn vo cc logic c t ca ng dng kim tra n lm th no. Kim tra s dng cc c t logic to ra cc x l khc nhau v d on cc kt qu ra. Cc kt qu trung gian v u ra cui cng c th d on v nh lng nh kim tra white-box.

Chin lc kim tra topdown hay bottomup: xc nh cc kim tra v pht trin m s c tin hnh nh th no:

Kim tra topdown cho rng m iu khin ti hn v cc chc nng s c pht trin v kim tra u tin. Tip theo l cc chc nng th cp v cc hm h tr. L thuyt l cng c nhiu module ti hn c kim tra, th cng n nh v chng trnh.

Kim tra bottomup cho rng cng t thay i trong cc module kh nng sinh li cng t. Ton b cc module c m v n v c kim tra. Sau kim tra c tin hnh mc tch hp.

Cc chin lc kim tra khng loi tr ln nhau, chng c th c s dng n l hoc ng thi. L tng l kim tra cho mt ng dng bao gm nhiu chin lc pht hin c ht cc li.

Sau khi chin lc c xc nh, n c p dng to cc trng hp kim tra c th. Test case: l cc giao dch ring bit hoc cc bn ghi d liu to cc logic c kim tra. Cho mi trng hp kim tra tt c cc kt qu ca x l c d on. i vi ng dng on-line v off-line ti liu ho, test scripts cc hi thoi to ra gia ngi dng v ng dng v cc thay i t hi thoi. Test plan: t liu ho cc chin lc, kiu, cc trng hp v m t cho kim tra vi khi ng dng. Tt c cc k hoch to thnh k hoch tng th cho ng dng.

Kim tra c lp li cho n khi khng cn li, hoc t c mc chp nhn.

Bc u tin ca x l kim tra, u vo kim tra, cu hnh v m ng dng c i hi to cc kim tra.

Bc th hai l so snh cc kt qu kim tra vi kt qu d tnh v nh lng s khc bit.

Bc tip theo l loi tr cc li, hoc g ri m. Khi vic m ho li hon thnh, kim tra li c tin hnh.

Qu trnh tin hnh kim tra bt u t khi thit k. Cng tc vin thc hin vic kim tra nn c kh nng ca phn tch vin v lp trnh vin c th hiu cc i hi ca ng dng v kiu cch tin hnh kim tra. Chng trnh cng ln v phc tp th cng cn ngi c kinh nghim, i khi cn c mt i ng kim tra. i ng kim tra s dng yu cu chc nng t giai on phn tch v c t chng trnh, c t thit k t giai on thit k nh l u vo pht trin chin lc kim tra h thng. Khi chin lc c hon tt, cc bui tho lun c tin hnh kim tra li chin lc v thng bo ti ton th i. Cc nhim v ti cc mc s c n nh. Thi gian c c lng. i ng kim tra lm vic c lp v song song vi i ng lp trnh. H lm vic vi qun tr CSDL pht trin c s d liu m c th h tr tt c cc mc kim tra. i vi kim tra n v, i kim tra kim tra kt qu, cc chp nhn cc module v chng trnh cho kim tra tch hp (integration test). i ng kim tra tin hnh v nh lng cc kim tra tch hp v kim tra h thng.

6.2.2. Chin lc kim tra phn mm

Nh ni trn, c hai kiu chin lc kim tra. Kiu th nht lin quan logic c kim tra th no trong ng dng. Chin lc kim tra logic c th l black-box hoc white-box. Chin lc kim tra black-box cho rng module ca chng trnh hoc h thng lin quan ti u vo v u ra. Cc chi tit logic chi tit c che du v khng cn phn tch. Chin lc black-box c tnh hng d liu. White-box hng ti vic cho rng logic c trng l quan trng v cn phi kim tra. White-box nh gi mt vi hoc tt c mt logic kim tra c tnh ng n ca chc nng. White-box hng v logic - gii thut.

Kiu th hai lin quan ti vic kim tra c tin hnh th no, khng quan tm chin lc kim tra logic. N l top-down hoc bottom-up. Top-down coi chng trnh chnh l quan trng nht nn cn phi pht trin v kim tra trc v tip tc trong qu trnh pht trin. Bottom-up cho rng cc module v chng trnh ring s c pht trin hon ton nh standalone. Vy chng c kim tra ring r sau c kt hp thnh kim tra t hp.

6.2.2.1. Kim tra Black-box

Kim tra hp en, black-box, coi x l kt qu nh l minh chng bi d liu. Khi nim kim tra l black-box khng quan tm logic. Khuynh hng ny hiu qu i vi cc modul chc nng n v cc h thng cp cao. Ba phng php chnh l:

Phn hoch cn bng: Mc ch ca phng php ny l ti thiu cc trng hp kim tra cho trc, cc mc d liu vo c chia thnh cc nhm d liu c vai tr cn bng nhau, mi nhm i din cho mt tp d liu. Nguyn tc l bng cch kim tra trit mt mc ca mi tp hp, chng ta c th chp nhn tt c cc mc tng ng khc ca tp hp cng s c kim tra mt cch k cng.

Phn tch cc bin: Phn tch gi tr cc bin l mt dng nghim ngt ca phn hoch cn bng c s dng cc gi tr bin hn l bt c gi tr no trong tp cn bng. V d: min gi tr ca thng l 1 12 v ngoi l 0 v 13. Th 4 kim tra ng vi bn trng hp s c kim tra phn tch cc bin thng xuyn c dng ti cc mc modul xc nh cc mc d liu c trng cho testing.

on li: Da trn c s trc gic v kinh nghim, cc chuyn gia c th d dng kim tra cc iu kin li bng cch on ci no d xy ra nht. V d, chia 0, nu modul c php chia, nn dng php chia 0. V da trn trc gic, nn php th ny kh tm ht cc li.

Mt nhc im ca phn hoch cn bng v phn tch cc bin l t hp ca cc min hp khng c xc nh. b sung, ngi ta dng s nguyn nhn kt qu (Cause Effect Graphing). S nguyn nhn kt qu ch ra cc u ra v thng tin di chuyn nh l h qu v cc u vo gy ra h qu trn. Cc k hiu graphic xc nh tng tc, la chn, logic v cc iu kin tng ng. Mt vng i din mt dy cc thao tc khng c im quyt nh hoc iu khin. Mi dng biu din mt lp cn bng ca d liu v cc iu kin s dng n. Mi ln graph c thc hin th t nht mt gi tr c ngha v mt khng c ngha cho mi tp c th.

6.2.2.2. White-box testing

C ba loi kim tra hp trng l kim tra logic -logic test, chng minh ton hc -mathematical proof v Cleanroom testing.

1. Logic test

Logic test c th c chi tit n mc lnh. Trong khi thc hin ca mi lnh l mc ch ng khen ngi, n c th khng kim tra tt c cc iu kin thuc chng trnh. V d, t nht 2 kim tra cho mt kim tra 2 iu kin (1 ng v 1 sai). C gng kim tra tt c cc iu kin l d nhin l khng th thc hin c v thc tin. V d trong 1 module c 10 thao tc qua 4 vng lp th c 5,5 triu trng hp kim tra. Do phi c phng php la chn.

Logic kim tra nhn vo mi quyt nh trong module v sn sinh cc d liu to tt c cc kt qu ra c th. C mt vn vi logic test ti mc ny l chng khng test tnh trng ca module i vi c t. Nu kim tra c pht trin da trn c t, m c t c dch khc nhau bi ngi lp trnh th kim tra s khng ng. Gii php l i hi c t chng trnh chi tit v logic. iu ny c th ph hp vi ngn ng th h 1 v 2.

Cc kim tra nhiu iu kin to mi kt qu ra ca tiu chun a quyt nh v nhiu im vo module. Cc kim tra i hi vic phn tch xc nh c bn quyt nh a tiu chun. Nu cc bin c xc nh khng chnh xc, th kim tra khng hiu qu. Khi c thit k ph hp, test logic a iu kin c th ti thiu ho cc trng hp kim tra kim tra nhiu nht cc iu kin. S s dng k thut ny i hi luyn tp v k nng.

2. Chng minh bng ton hc

Mt phng php theo cch tip cn gim thiu st v 0 l p dng suy din ton hc cho i hi logic, chng minh tnh ng n ca chng trnh. Phng php ny i hi c t ngn ng dng hnh thc. K thut chng minh tnh ng n ca chng trnh c cp 6.4.

3. Cleanroom testing

Cleanroom testing l m rng ca phng php chng minh bng ton hc. L thuyt ca k thut ny l bng cch ngn chn cc li ti cc u vo ca qu trnh x l, gi thnh s gim, tin cy tng ln v tim cn ti khng c li.

Phng php ny c pht trin ti IBM u nhng nm 1980 bi Mills, Dyer, Linger. Cc c t hnh thc c dng v vic kim tra th cng c tin hnh bi cc i kim tra. Cc chng trnh kh c s c vit li v kim tra hon ton trn giy.

Cleanroom testing l k thut kim tra ton hc hnh thc v hi (walkthrough). Mc ch l phn tch mi module thnh cc chc nng v lin kt. Cc php kim tra chc nng dng k thut ton hc, cc kim tra lin kt s dng thuyt tp hp.

Sau khi thc hin kim tra (verification), i kim tra c lp s dch v thc hin m. D liu kim tra c dch bi cc phn tch c t chc nng v c thc hin th hin cc t l xc sut ca d liu c gi nh cho h thng thc. Thm vo cc d liu chun th cc loi li nghim trng c to kim tra ng dng.

Bt li ca phng php ny bt buc l i hi k nng cao v: ton, thng k, logic v ngn ng c t hnh thc.

6.2.2.3. Kim tra top-down

Phng php kim tra top-down cn mt m ngoi, c hiu nh l mt b khung gn cc chc nng gc, cc modul, v cc phn khc ca ng dng. B khung ny thng bt u vi ngn ng iu khin cng vic v logic chnh ca ng dng. Logic chnh c kim tra v lp khung theo cc h thng phn r. u tin ch c cc th tc thit yu v cc logic iu khin c kim tra.

Khi cc module thit yu nht c kim tra v chy tt th m ca cc modul t quan trng hn s c gn vo khung v tip tc kim tra. V l thuyt th, top-down s tm thy cc li thit k sm hn trong kim tra thao tc (testing process) hn cc khuynh hng khc. Phng php ny t hiu qu trong vic ci thin cht lng ca cc phn mm chuyn giao v bn cht tng tc ca kim tra.

Kim tra top-down d dng h tr giao din ngi dng v thit k mn hnh. Trong cc ng dng tng tc, thng l b iu khin mn hnh c kim tra u tin. Ngi dng c th kim tra s iu khin thng qua mn hnh vi cc pht trin to mu.

6.2.2.4. Kim tra bottom-up

Nguyn tc ca bottom-up l kim tra mi thay i ti module c th nh hng ti chc nng ca n. Trong kim tra bottom-up, ton b khi l n v nh gi. Tt c cc module c m ho v kim tra ring r.

Cc trng hp kim tra: cc trng hp kim tra l d liu vo c to th hin tng khi v ton b h thng tho mn tt c cc yu cu thit k.

Mi trng hp kim tra nn c pht trin kim tra nghim cc i hi thit k c trng, thit k chc nng, hoc m c tho mn. Hn na cc trng hp kim tra cn d on cc output.

Mi n nguyn ca ng dng (V d: module, subroutine, program, utility,...) phi c kim tra vi t nht hai trng hp kim tra: mt trng hp chy tt v mt trng hp khng chy. Trong trng hp chy sai h phi a c thng bo, quay li (rollback) c trng thi ban u ca giao dch.

chc chn rng cc trng hp c ton din nht, ngi ta thng dng ma trn. Chng c dng cho:

Kim tra n khi nh nhnh logic, iu kin logic, cc phn d liu hoc bin d liu kim tra trn c s c t chng trnh.

Kim tra t hp nh ra yu cu v d liu v quan h trong s cc tng tc.

Kim tra h thng xc nh yu cu v ngi dng v h thng t cc yu cu chc nng v cc yu cu chp nhn.

Phi hp cc kim tra trong mt chin lc: mc ch ca cc nh kim tra l tm ra s cn bng ca cc chin lc cho php h chng minh c ng dng chy tt m ti thiu ho chi ph my tnh v nhn lc. S dng duy nht mt chin lc l rt nguy him. Khng c ci no l duy nht ng. Nu ch c white-box th ti nguyn nhn lc v my l rt tn km, nu ch c black-box cc vn logic c trng c th cha c khm ph.

6.3. K THUT KIM TH PHN MM V C IM

6.3.1. Khi nim

Kim th mt sn phm phn mm l xy dng mt cch c ch ch nhng tp d liu v dy thao tc nhm nh gi mt s hoc ton b cc tiu chun ca sn phm phn mm .

Th nghim c hai mc ch: ch ra h thng ph hp vi c t v phi ra c cc khuyt tt ca h thng.

6.3.2. c im ca kim th

6.3.2.1. Cc hn ch ca kim th

Do kim th l chy th chng trnh vi tp d liu gi nn khng th khng nh tnh ng ca chng trnh do bn cht quy np khng hon ton ca n.

Trong nhiu trng hp, vic kim th thng c thc hin t nhng giai on u ca qu trnh ci t sn phm.

Cc chng trnh nn c kim chng theo hai k thut: kim th v chng minh. V nu c th nn khng nh tnh ng ca chng trnh thng qua vn bn chng trnh

Nh vy, mt chng trnh tuyt i ng phi c thc hin thng qua: tnh ng n ca thut ton v tnh tng ng ca chng trnh vi thut ton (c th hin chng minh thng qua vn bn chng trnh).

Vic kim th chng trnh ch l nhn s kin a ra kt lun do vy khng th khng nh mt chng trnh tuyt i ng bng kim th. Tuy vy, b d liu kim th phi ph kn mi trng hp cn nh gi.

Thm vo , trong qu trnh kim th, ta thng mc phi cc c trng ca nguyn l ch quan nh sau:

B d liu Test khng thay i trong qu trnh xy dng phn mm

Ch Test cc trng hp chnh thng, hp l, khng quan tm n cc cn v cc s c

Ci t chc nng no th ch Test ring chc nng , khng ch Test tng hp chc nng va ci t vi cc chc nng ci t trc .

Ngi Test ng thi l ngi xy dng phn mm tc va bng, va thi ci.

6.3.2.2. Cc loi hnh kim th

Kim th lc h thng: ch quan tm n cc bn chn (menu) nh gi tnh hp l, kh nng chn mt mc, kh nng di chuyn qua mc khc, tnh , tnh khoa hc ca cc chc nng.

Kim th cn di

Kim th cn trn: cho h thng thc hin n mc ti hn.

Kim th qua s c: to ra cc s c kim th phn mm.

6.3.2.3. Nguyn tc kim th

Nguyn tc khch quan: ngi kim th khng phi l tc gi ca phn mm ang kim th

Nguyn tc ngu nhin: d liu v chc nng c chn, tuy c ch ch nhng khng phi xut hin theo th t nht nh.

Nguyn tc "ngi s dng km": h thng c mt ngi s dng c trnh thp ( mc chp nhn c) dng th. (Ngi ny c th gy cc s c c th khng lng trc c ca h thng )

Nguyn tc "k ph hoi": h thng ri vo tay c trnh nghip v cao, ch ph hoi. "Trnh " y thuc lnh vc cng ngh thng tin hoc lnh vc phn mm ang hng ti.

6.3.2.4. K thut kim th

K thut i xng: da vo tnh i xng ca cc thao tc hoc tp d liu xy dng b d liu Test.

K thut m ng

K thut kim th trn d liu tht: cho h thng vn hnh vi cc tp d liu tht thu c t trc so snh v nh gi kt qu

K thut kim th trn th trng tht: cho h thng vn hnh trn th trng tht (khng chnh thc) so snh vi cc h thng chnh c dng v nh gi kt qu.

K thut i snh: cho thc hin vi mt vi sn phm khc vi cng cc chc nng ging nhau v trn cng cc tp d liu ri lp bng so snh cc chc nng.

6.3.2.5. Qu trnh kim th

Tr h thng nh, ni chung khng nn kim th nguyn c khi; qu trnh kim th c th chia 5 giai on:

1. Th n v

2. Th module

3. Th h con

4. Th h thng

5. Th nghim thu: cn gi th anpha.

Khi h thng c em bn cn php th beta: phn phi h thng cho mt s ngi dng ng dng th v bo co li cc vn cho ngi pht trin h thng.

6.3.3. K hoch th nghim

Th h thng l rt t , i vi mt vi h thi gian thc c cc rng buc thi gian phc tp th vic th c th ngn ht khong na tng chi ph pht trin.V th m phi lp k hoch th v khng ch chi ph th.

Cn ch l vic th lin quan n vic thit lp ra cc mu cho qu trnh th nhiu hn l m t cc php th.

6.3.4. Phn loi mt s cng c kim th t ng

V kim th phn mm thng chim ti 40% tt c cc n lc dnh cho mt d n xy dng phn mm, nn cng c c th lm gim thi gian kim th (khng lm gim tnh k lng) s rt c gi tr. Tha nhn li ch tim nng ny, cc nh nghin cu v ngi thc hnh pht trinmt s th h cc cng c kim th t ng:

B phn tch tnh. Cc h thng phn tch chng trnh ny h tr cho "vic chng minh" cc l l tnh - nhng mnh yu km v cu trc v nh dng ca chng trnh.

B kim ton m. Nhng b lc chuyn dng ny c dng kim tra cht lng ca phn mm m bo rng n p ng cc chun m ho ti thiu.

B x l khng nh. Nhng h thng tin x l/hu x l ny c s dng cho bit liu nhng pht biu do ngi lp trnh nu, c gi l cc khng nh, v hnh vi ca chng trnh c thc s c p ng trong vic thc hin chng trnh thc hay khng.

B sinh tp kim th. Nhng b x l ny sinh ra, v in cc gi tr xc nh, vo cc tp c vo in hnh cho chng trnh ang c kim th.

B sinh d liu kim th. Nhng h thng phn tch t ng ny h tr cho ngi dng trong vic chn d liu kim th lm cho chng trnh hnh x theo mt cch c bit.

B kim chng kim th. Nhng cng c ny o mc bao qut kim th bn trong, thng c din t di dng c lin quan ti cu trc iu khin ca s vt kim th, v bo co v gi tr bao qut cho chuyn gia m bo cht lng.

Dng c kim th. Lp cc cng c ny h tr cho vic x l cc php kim th bng cch lm gn nh khng kh khn (1) thit lp mt chng trnh ng c vin trong mi trng kim th, (2) np d liu vo, v (3) m phng bng cc cung cho hnh vi ca cc module ph.

B so snh ci ra. Cng c ny lm cho ngi ta c th so snh mt tp ci ra t mt chng trnh ny vi mt tp ci ra khc ( c lu gi trc) xc nh s khc bit gia chng.

H thng thc hin k hiu. Cng c ny thc hin vic kim th chng trnh bng cch dng ci vo i s, thay v gi tr d liu s. Phn mm c kim th vy xut hin kim th cc lp d liu, thay v ch l mt trng hp kim th c bit. Ci ra l i s v c th c so snh vi kt qu trng i cng c xc nh di dng i s.

B m phng mi trng. Cng c ny l mt h thng da trn my tnh gip ngi kim th m hnh ho mi trng bn ngoi ca phn mm thi gian thc v ri m phng cc iu kin vn hnh thc ti mt cch ng.

B phn tch lung d liu. Cng c ny theo di du vt lung d liu i qua h thng (tng t v nhiu kha cnh vi b phn tch ng i) v c gng tm ra nhng tham kho d liu khng xc nh, t ch s sai v cc li khc c lin quan ti d liu.

Hin nay vic dng cc cng c t ng ho cho kim th phn mm ang pht trin, v rt c th l ng dng s pht trin nhanh trong thp k ti. Cc cng c kim th c th s gy ra nhng thay i ln trong cch chng ta kim th phn mm v do ci tin tin cy ca cc h thng da trn my tnh.

6.4. CHNG MINH TON HC TNH NG N CA CHNG TRNH

Nh cp trn, mc tiu ca chng minh ton hc l c th khng nh tnh ng ca chng trnh thng qua chnh vn bn ca chng trnh.

6.4.1. Khi nim chung

Nh ta bit, chng trnh P l mt b bin i tun t P chuyn ci vo x thnh ra ci y; y x v y hon ton c xc nh trc.

Nh vy, mt chng trnh P c gi l ng nu n thc hin chnh xc nhng mc tiu do ngi thit k c ra. Ta gi:

+ Gi thit (A( l mnh c pht biu th hin tnh cht ca ci vo, gi tt l mnh d liu vo.

+ Kt lun (B( l mnh c pht biu tnh cht cn c ca d liu ra, gi tt l mnh d liu ra.

Do P c tnh tun t v hu hn nn c th biu din P l mt dy lin tip cc cu trc iu khin P1, P2,....,Pn. Do vy, bng cch no m ta khng nh c:

P1 bin i (A( thnh (A1(

P2 bin i (A1( thnh (A2(

....

Pn bin i (An-1( thnh (An(

V da vo quy tc ton hc, (An( c th suy ra (B( th ta c th ni rng P l ng vi ci vo (A( v ci ra (B(. Lc ny k hiu (A(P(B( hay

Cn ch rng l khc vi :mnh {A} suy din ra mnh {B} da vo cc quy tc ton hc.

Ni cch khc, chng minh P l ng,

ta chng minh theo s sau:

(A( P1 (A1(

(A1( P2 (A2(

.....

......

(An-1(Pn(An(

y, cn l tnh cht (A( v

tnh cht (B( c th khng lin quan n nhau.

V d 1: Cho mnh d liu vo {A: x,y(R; 02}

{A1}P2{A2: x,y(R; x>2}

{A2}P3{A3: x,y(R; x>4}

{A3}P4{A4: x,y(R; x>y+4}

v

Vy ta c kt lun {A}P{B} hay ni cch khc l P ng vi d liu vo {A} v d liu ra {B}.

Cn rng kh ta c dy bin i tnh cht d liu vo v ra nh sau:

(A( P1 (A1(

(A1( P2 (A2(

.....

......

(An-1(Pn(An(

Th cha th kt lun c iu g v cn tu thuc vo cc mnh trung gian thu c {A1},{A2},....{An} l "mnh nht" hay cha.

Xt v d cho trn, ta c dy bin i nh sau:

{A} P1{A'1: x,y(R; x>0}

{A'1}P2{A'2: x,y(R; x>0}

{A'2}P3{A'3: x,y(R; x>2}

{A'3}P4{A'4: x,y(R; x>y+2}

R rng ta c: nhng theo trn ta vn c kt lun {A}P{B}.

Trong trng hp ny, ta thy cc mnh {A'1}{A'2}{A'3}{A'4} r rng l cc mnh h qu ca cc mnh {A1}{A2}{A3}{A4}.

V d 2: Cho mnh d liu vo {A: x,y(N; x=3y}, on trnh P =P1(P2 nh sau:

x:=x+5;(P1)

y:=y+5;(P2)

v mnh d liu ra {B: x,y(R; x=3y}. y, r rng ta c

6.4.2. H tin Hoare

1. Tin 1: Tin tun t

Nu mnh (A( sau khi chu tc ng ca khi cu trc iu khin P ta c (B( v mnh (B( sau khi chu tc ng ca cu trc iu khin Q ta c (C( th (A( chu tc ng tun t P,Q s thu c (C(

Hay ni cch khc, y chnh l tin v dy thao tc: Nu (A( P (B( v (B( Q (C( th (A( P,Q (C(

2. Tin gn: tnh cht ca php gn

iu kin c mnh (B( sau khi thc hin lnh gn x: = E (vi E l mt biu thc) t mnh {A} th trc ta phi c {A} suy dn c ra {B[x|E]}.

Mnh {B[x|E]} l mnh thu c t {B} bng php thay th mi xut hin ca x trong {B} bi E. Tc l: (A( x: = E (B( th

K thut ln ngc ca tin gn

Cho on trnh P gm n php gn x1:=E1; x2:=E2;.......xn:=En; {A}P{B} th

ta phi c Trong {Bn} c xc nh nh sau

Trong cc mnh {Bi} c xc nh nh sau:

{B1} l mnh {B[xn|En]}

{Bn-1} l mnh {Bn-2[x2|E2]}

{Bn} l mnh {Bn-1[x1|E1]}

Trong trng hp th ta ni P l c li.

V d 3: (Xt v d 1) Cho mnh d liu vo {A: x,y(R; 0y+3}

{B1[x|x+2]}({B2 : (x+2)+y,y(R; (x+2)+y>y+3}

{B2[y|y+1]}({B3 : (x+2)+(y+1),(y+1)(R; (x+2)+(y+1)>(y+1)+3}

{B3[x|1/x+1]}({B4 : ((1/x+1)+2)+(y+1),(y+1)(R; ((1/x+1)+2)+(y+1)>(y+1)+3}

R rng ta c , nn {A}P{B}.

3. Tin r nhnh

i. Vi mnh d liu vo {A}, mnh d liu ra {B}, biu thc logic E,

v on trnh P. Nu ta c {A, E}P{B} v th ta ni rng mnh {A} v {B} tun theo cu trc r nhnh dng khuyt vi cu trc P v iu kin la chn E; tc l: {A} if E then P; {B}.

ii. Vi mnh d liu vo {A}, mnh d liu ra {B}, biu thc logic E,

v cc on trnh P, Q. Nu ta c {A, E}P{B} v {A,!E}Q{B} th ta ni rng mnh {A} v {B} tun theo cu trc r nhnh dng vi cu trc P, Q v iu kin la chn E; tc l: {A} if E then P else Q; {B}.

V d 4: Cho mnh d liu vo {A: x,y,q,r(N, x=qy+r, 0(r0 do

Begin

If (x mod 2)(0 then z:=z+y;

x=x div 2;

y:=y*2;

End;

Return z;

Ta cn phi khng nh chng trnh trn ng vi yu cu t ra.

Tht vy, gi mnh th hin tnh cht d liu vo ca chng trnh {A} v mnh th hin tnh cht d liu ra cn c {B}, ta c

{A: x,y,z(N; x=a; y=b;} v {B: x,y,z(N; z=ab;}

Ta cn chng t {A}P {B}.

+ Xt mnh {C: x,y,z(N; ab=z+xy;}

+ Ta c {A} z:=0;{C}

+ chng t {C} l bt bin ca on trnh

while x>0 do

Begin

If (x mod 2)(0 then z:=z+y;

x=x div 2;

y:=y*2;

End;

Ta cn c: {C,E: x,y,z(N; ab=z+xy;x>0}Q{C}, vi on trnh Q nh sau:

If (x mod 2)=0 then z:=z+y;

x=x div 2;

y:=y*2;

Theo tnh cht ca php gn, ta c:

{C1}({C[y|y*2]: x,y*2,z(N; ab=z+x(y*2);}

{C2}({C1[x|(x div 2)]: (x div 2),y*2,z(N; ab=z+(x div 2)(y*2);}

Nn cn chng t:

{C,E: x,y,z(N; ab=z+xy;x>0} If (x mod 2)(0 then z:=z+y; {C2}

D dng ta c

i. {C,E,F: x,y,z(N; ab=z+xy;x>0,(x mod 2)(0} z:=z+y {C2}; v

ii..{C,E,!F: x,y,z(N; ab=z+xy;x>0,(x mod 2)=0} =>{C2};

Vy {C} l bt bin ca Q. Nn kt thc Q, ta c mnh {C,!E}.

+ D dng chng t: {C,!E}=>{B}

Vy ta c {A}P{B}, hay chng trnh trn l ng.

rng: do {A,E}P{A} nn trong trng hp {A}=>E th vng lp l v hn v khng tn ti mnh {A, !E}.

Cu hi

1. tin cy ca phn mm? V sao phi m bo cht lng phn mm.

2. c im ca vic kim tra phn mm? S khc nhau ca kim tra hp trng v hp en.

3. Th no l kim th phn mm? Cc c im ca vic kim th phn mm.

4. Th no l kim tra tnh ng n ca vn bn chng trnh.

5. nh gi cc cng c h tr kim th phn mm

Cc giai on pht trin ng dng

Phm vi v mc tiu

Yu cu chc nng/Thit k logic

Thit k vt l

c t m hnh cu trc chng trnh

M ho module/chng trnh

Kim tra n v

Kim tra tch hp

Kim tra h thng

QA/Kim tra chp thun

Cc kiu kim tra

(An((>(B(

L

(A4(=>(B(

L

(An(=>(B(

L

L

L

(A(=>(B(

P

(A(=>(B( l

P

(A(=>(B(.

P1

P2

Pn

(A(

(A1(

(An(

(B(

L

(A'4((>(B(

L

P

(A((>(B(

L

(A(=>(B[x|E](

L

(A(=>(B4(.

L

(A(=>(Bn(.

(B(

(B1(

(Bn-1(

(A(

xn:=En

x2:=E2

x1:=E1

(Bn(

L

(A,!E(=>(B(

L

L

(A((>(Bn(

L

PAGE

140