SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Ki m th (9)

     Nguy n Thanh Bình
     Khoa Công ngh Thông tin
     Trư ng ð i h c Bách khoa
     ð i h c ðà N ng




N i dung

    Gi   i thi   u v ki m th
    Ki   m th     trong ti n trình phát tri n
    Ki   m th     h p ñen
    Ki   m th     h p tr ng




2




                                                1
Ki m th là gì ?

    IEEE: Ki m th là ti n trình v n hành
    h th ng ho c thành ph n dư i
    nh ng ñi u ki n xác ñ nh, quan sát
    ho c ghi nh n k t qu và ñưa ra ñánh
    giá v h th ng ho c thành ph n ñó

    Myers: Ki m th là ti n trình th c thi
    chương trình v i m c ñích tìm th y l i
    (The art of software testing)
3




Ki m th là gì ?

    Ki m th ≠ G r i (debug)
      Ki m th
       • nh m phát hi n l i


      G r i
       • xác ñ nh b n ch t l i và ñ nh v l i trong
         chương trình
       • ti n hành s a l i


4




                                                     2
Các khái ni m

    M t sai sót (error) là m t s nh m l n hay m t s
    hi u sai trong quá trình phát tri n ph n m m c a
    ngư i phát tri n
    M t l i (fault, defect) xu t hi n trong ph n m m
    như là k t qu c a m t sai sót
    M t h ng hóc (failure) là k t qu c a m t l i xu t
    hi n làm cho chương trình không ho t ñ ng ñư c
    hay ho t ñ ng nhưng cho k t qu không như mong
    ñ i

           sai sót         l i       h ng hóc


5




Các khái ni m

    D li u th (test data)
       d li u vào c n cung c p cho ph n m m
       trong khi th c thi
    K ch b n ki m th (test scenario)
       các bư c th c hi n khi khi ki m th
    Phán xét ki m th (test oracle)
       ñánh giá k t qu c a ki m th
        • t ñ ng: chương trình
        • th công: con ngư i



6




                                                        3
Các khái ni m

    Ki m th viên (tester)
      ngư i th c hi n ki m th
    Ca ki m th (test case)
      t p d li u th
      ñi u ki n th c thi
      k t qu mong ñ i




7




Các khái ni m




8




                                4
Ti n trình ki m th
     Ki m th thư ng bao g m các bư c
       thi t k các ca ki m th
       bư c t o d li u th
         • ki m th v i t t c các d li u vào là c n thi t
             • không th ki m th “vét c n”
         • ch n t p các d li u th ñ i di n t mi n d li u vào
             • d a trên các tiêu chu n ch n d li u th
       bư c th c thi chương trình trên d li u th
         • cung c p d li u th
         • th c thi
         • ghi nh n k t qu
       bư c quan sát k t qu ki m th
         • th c hi n trong khi ho c sau khi th c thi
         • so sánh k t qu nh n ñư c và k t qu mong ñ i

9




Ti n trình ki m th




10




                                                               5
Khó khăn c a ki m th
     Liên quan ñ n ti n trình phát tri n
        g m nhi u giai ño n phát tri n
          • cái ra c a m t giai ño n là cái vào c a giai ño n khác
          • m t mát thông tin

     V m t con ngư i
        thi u ñào t o
        ít chú tr ng vai trò ki m th

     V m t k thu t
        không t n t i thu t toán t ng quát có th ch ng minh
        s ñúng ñ n hoàn toàn c a b t kỳ m t chương trình
        nào


11




T i sao ki m th
     H p th c hóa (validation)
        ch ra r ng s n ph m ñáp ng ñư c yêu c u ngư i
        s d ng
     Xác minh (verification)
        ch ra r ng s n ph m th a mãn ñ c t yêu c u

     Phân bi t h p th c hóa và xác minh
        “Verification: Are we building the product right ?”
        “Validation: Are we building the right product ?”




12




                                                                     6
Ki m th trong ti n trình
phát tri n
     Các k thu t ki m th
        k thu t ki m th tĩnh (static testing)
        k thu t ki m th ñ ng (dynamic testing)
         • ki m th h p ñen (black-box testing)
                 • k thu t ki m th ch c năng (functional testing)
         • ki m th h p tr ng (white-box testing)
                 • k thu t ki m th c u trúc (structural testing)

     Các ho t ñ ng ki m th /chi n lư c ki m th
        ki   m   th   ñơn v (unit testing)
        ki   m   th   tích h p (integration testing)
        ki   m   th   h p th c hóa (validation testing)
        ki   m   th   h i quy (regression testing)


13




Ki m th trong ti n trình
phát tri n
     Ki m th ñơn v (unit testing)
        ki m th m i ñơn v ph n m m (mô-ñun)
        s d ng k thu t ki m th h p ñen
        d li u th ñươc t o ra d a trên tài li u thi t
        k
        có th s d ng c ki m th h p tr ng và
        ki m th tĩnh
         • ph n m m yêu c u ch t lư ng cao
        thư ng ñư c th c hi n trên ph n c ng phát
        tri n ph n m m

14




                                                                    7
Ki m th trong ti n trình
phát tri n
     Ki m th tích h p (integration testing)
       sau khi ñã th c hi n ki m th ñơn v
       ghép n i các ñơn v /thành ph n ph n m m
       ki m th s ghép n i, trao ñ i d li u gi a
       các ñơn v /thành ph n
       s d ng k thu t ki m th h p ñen
       môt s trư ng h p, s d ng k thu t ki m
       th h p tr ng
        • chi phí cao, khó khăn
       d li u th ñư c t o ra d a trên thi t k
       t ng th

15




Ki m th trong ti n trình
phát tri n
     Ki m th tích h p (2)
       c n xây d ng thêm
        • nút trám (stub): các thành ph n khác mô
          ph ng các thành ph n ph n m m chưa
          ñư c tích h p
        • trình ñi u khi n (driver): các thành ph n
          t o ra các d li u vào cho m t vài các
          thành ph n ph n m m trong t p h p
          ñang ñư c ki m th

16




                                                      8
Ki m th trong ti n trình
phát tri n
     Ki m th tích h p (3)




17




Ki m th trong ti n trình
phát tri n
     Ki m th tích h p (4)
        chi n lư c t trên xu ng (top-down)
         • ki m th tích h p các thành ph n chính trư c, sau ñó thêm
           vào các thành ph n ñư c g i tr c ti p b i các thành ph n v a
           ki m th
         • cho phép xác ñ nh s m các l i v ki n trúc
         • các b d li u th có th ñư c tái s d ng cho các bư c ti p
           theo
         • tuy nhiên chi n lư c này ñòi h i ph i xây d ng nhi u nút trám

        chi n lư c t dư i lên (bottom-up)
         • ki m th các thành ph n không g i các thành ph n khác, sau
           ñó thêm vào các thành ph n g i các thành ph n v a ki m th
         • ít s d ng các nút trám
         • nhưng l i xác ñ nh l i tr hơn



18




                                                                           9
Ki m th trong ti n trình
phát tri n
     Ki m th h p th c hóa (validation testing)
       còn g i là ki m th h th ng (system
       testing)
       th c hi n sau khi ki m th tích h p k t thúc
       ch ng minh ph n m m th c hi n ñúng
       mong ñ i c a ngư i s d ng
       d a vào yêu c u ngư i s d ng
       ch s d ng k thu t ki m th h p ñen
       nên th c hi n trong môi trư ng mà ph n
       m m s ñư c s d ng

19




Ki m th trong ti n trình
phát tri n
     Ki m th h i quy (regression testing)
       ph n m m sau khi ñưa vào s d ng, có th
       có các ch nh s a
        • có th phát sinh l i m i
       c n ki m th l i: ki m th h i quy
       thư ng tái s d ng các b d li u th ñã s
       d ng trong các giai ño n trư c




20




                                                     10
Ki m th trong mô hình V


ð c t yêu c u                                 Ki m th h p th c hóa


   Thi t k ki n trúc                      Ki m th tích h p


         Thi t k chi ti t            Ki m th ñơn v


                            Mã hóa




  21




  Các k thu t ki m th

         k thu t ki m th tĩnh (static testing)
          • không th c thi chương trình
         k thu t ki m th ñ ng (dynamic
         testing)
          • ki m th h p ñen (black-box testing)
                • k thu t ki m th ch c năng (functional
                  testing)
          • ki m th h p tr ng (white-box testing)
                • k thu t ki m th c u trúc (structural testing)


  22




                                                                     11
Ki m th tĩnh

     Thanh tra mã ngu n (code inspection)
     Ch ng minh hình th c
     Th c thi hình th c (symbolic execution)
     ðánh giá ñ ph c t p
       McCabe
       Nejmeh




23




Ki m th h p ñen
                                        Inputs causing
                                        anomalous
            Input test data        I    behaviour
                                   e




                          System




                                        Outputs which reveal
                                        the presence of
          Output test results      Oe   defects

24




                                                               12
Ki m th h p ñen

     Ch c n d a vào ñ c t chương trình
       Xây d ng d li u th trư c khi mã hóa/l p
       trình
     Thư ng phát hi n các l i ñ c t yêu c u,
     thi t k
     D dàng th c hi n
     Chi phí th p



25




Ki m th h p ñen

     Ki m th giá tr biên (boundary value
     analysis)
     Ki m th l p tương ñương (equivalence
     class testing)
     Ki m th ng u nhiên (random testing)
     ð th nhân-qu (cause-efect graph)
     Ki m th cú pháp



26




                                                 13
Ki m th giá tr biên

     Cơ s
        l i thư ng xu t hi n g n các giá tr biên c a mi n dũ
        li u
     T p trung phân tích các giá tr biên c a mi n d li u
     ñ xây d ng d li u ki m th

     Nguyên t c: ki m th các d li u vào g m
        giá tr   nh nh t
        giá tr   g n k l n hơn giá tr nh nh t
        giá tr   bình thư ng
        giá tr   g n k nh hơn giá tr l n nh t
        giá tr   l n nh t

27




Ki m th giá tr biên




28




                                                               14
Ki m th giá tr biên

     Nguyên t c ch n d li u th
        N u d li u vào thu c m t kho ng, ch n
         • 2 giá tr biên
         • 4 giá tr = giá tr biên ± sai s nh nh t

        N u giá tr vào thu c danh sách các giá tr , ch n
         • ph n t th nh t, ph n t th hai, ph n t k cu i và ph n t
           cu i

        N u d li u vào là ñi u ki n ràng bu c s giá tr , ch n
         • s giá tr t i thi u, s giá tr t i ña và m t s các s giá tr
           không h p l

        T v n d ng kh năng và th c t ñ ch n các giá tr biên
        c n ki m th


29




Ki m th giá tr biên

     Ví d (1)
        Chương trình nh n vào ba s th c, ki m tra ba s
        th c có là ñ dài ba c nh m t tam giác. N u là ñ dài
        ba c nh c a m t tam giác, thì ki m tra xem ñó là tam
        giác thư ng, cân, ñ u cũng như ki m tra ñó là tam
        giác nh n, vuông hay tù.




30




                                                                       15
Ki m th giá tr biên

     Ví d (2)
         D li u th
           1, 1, 2               Không là tam giác
           0, 0, 0               Ch m t ñi m
           4, 0, 3               M t c nh b ng không
           1, 2, 3.00001         G n là m t tam giác
           0.001, 0.001, 0.001   Tam giác r t nh
           99999, 99999, 99999   Tam giác r t l n
           3.00001, 3, 3         Tam giác g n ñ u
           2.99999, 3, 4         Tam giác g n cân
           3, 4, 5.00001         Tam giác giác g n vuông
           3, 4, 5, 6            B n giá tr
           3                     Ch m t giá tr
                                 D li u vào r ng
           -3, -3, 5             Giá tr âm



31




Ki m th l p tương ñương
     Ý tư ng
         phân ho ch mi n
         d li u vào thành
         các l p các d
         li u có quan h
         v i nhau

         m i l p dùng ñ
         ki m th m t
         ch c năng, g i là
         l p tương ñương




32




                                                           16
Ki m th l p tương ñương

     Ba bư c
        ñ i v i m i d li u vào, xác ñ nh các l p
        tương ñương t mi n d li u vào
        ch n d li u ñ i di n cho m i l p tương
        ñương
        k t h p các d li u th b i tích ð -các ñ
        t i ra b d li u ki m th




33




Ki m th l p tương ñương
     Nguyên t c phân ho ch các l p tương ñương
        N u d li u vào thu c m t kho ng, xây d ng
         • 1 l p các giá tr l n hơn
         • 1 l p các giá tr nh hơn
         • n l p các giá tr h p l

        N u d li u là t p h p các giá tr , xây d ng
         • 1 l p v i t p r ng
         • 1 l p quá nhi u các giá tr
         • nl ph pl

        N u d li u vào là ñi u ki n ràng bu c, xây d ng
         • 1 l p v i ràng bu c ñư c th a mãn
         • 1 l p v i ràng bu c không ñư c th a mãn

34




                                                          17
Ki m th l p tương ñương

     Ví d
        Bài toán tam giác
                         Nh n              Vuông             Tù
        Thư ng           6,5,3             5,6,10            3,4,5
        Cân              6,1,6             7,4,4             √2,2,√2
        ð u              4,4,4             không th          không th

        Không là tam giác         -1,2,8




35




Bài t p
     Ki m th giá tr biên
        Vi t m t chương trình th ng kê phân tích m t t p
        ch a tên và ñi m c a sinh viên trong m t năm h c.
        T p này ch a nhi u nh t 100 trư ng. M i trư ng
        ch a tên c a m i sinh viên (20 ký t ), gi i tính (1 ký
        t ) và ñi m c a 5 môn h c (t 0 ñ n 10). M c ñích
        chương trình:
         • tính di m trung bình m i sinh viên
         • tính ñi m trung bình chung (theo gi i tính et theo môn
           h c)
         • tính s sinh viên lên l p (ñi m trung bình trên 5)

        Xây d ng d li u th cho chương trình trên b i ki m
        th giá tr biên


36




                                                                        18
Bài t p
     Ki m th l p tương ñương
       Vi t chương trình d ch, trong ñó có câu l nh FOR,
       ñ c t câu l nh FOR như sau: “L nh FOR ch ch p
       nh n m t tham s duy nh t là bi n ñ m. Tên bi n
       không ñư c s d ng quá hai ký t khác r ng. Sau ký
       hi u = là c n dư i và c n trên c a bi n ñ m. Các c n
       trên và c n dư i là các s nguyên dương và ñư c
       ñ t gi a t khóa TO”.

       Xây d ng d li u th ñ ki m th câu l nh FOR theo
       k thu t ki m th l p tương ñương




37




Ki m th h p tr ng

     D a vào mã ngu n/c u trúc chương trình
       Xây d ng d li u th sau khi mã hóa/l p
       trình
     Thư ng phát hi n các l i l p trình
     Khó th c hi n
     Chi phí cao




38




                                                              19
Các k thu t ki m th h p
tr ng
     Ki m th d a trên ñ th lu ng ñi u khi n
     Ki m th d a trên ñ th lu ng d li u
     Ki m th ñ t bi n (mutation testing)




39




ð th lu ng ñi u khi n

     ð th lu ng ñi u khi n (Control Flow Graph -
     ðTLðK) là ñ th có hư ng, bi u di n m t chương
     trình
       ñ nh: bi u di n l nh tu n t hay kh i l nh
       cung: bi u di n các r nhánh
       m t ñ nh vào và m t ñ nh ra ñư c thêm vào ñ bi u
       di n ñi m vào và ra c a chương trình


     L trình (path) trong ðTLðK
       xu t phát t ñ nh vào ñi qua các ñ nh và cung trong
       ñ th và k t thúc t i ñ nh ra

40




                                                            20
ð th lu ng ñi u khi n

     Ví d 1

      if x <= 0 then
                 x := -x
      else
                 x := 1 -x;
      if x = -1 then
                 x=1
      else
                 x := x+1;
      writeln(x);



41




ð th lu ng ñi u khi n

     Ví d 1 (2)
        Có 4 l trình
          •   [a, b, d, f, g]
          •   [a, b, d, e, g]
          •   [a, c, d, f, g]
          •   [a, c, d, e, g]




42




                                21
ð th lu ng ñi u khi n

     Ví d 1 (3)
       ð th G1 có th bi u di n d ng bi u th c
       chính quy:
        G1 = abdfg + abdeg + acdfg + acdeg

       Hay ñơn gi n:
        G1 = a(bdf + bde + bdf + bde)g
        G1 = a(b + c)d(e + f)g


43




ð th lu ng ñi u khi n

     Bi u di n các c u trúc



     C u trúc tu n t : ab



                                       C u trúc r nhánh: b(a + d)c




                    C u trúc l p: ab(cb)*d
44




                                                                     22
ð th lu ng ñi u khi n

     Ví d 2
      i := 1;
      found:= false;
      while (not found) do
      begin
      if (a[i] = E) then
          begin
              found:= true;
              s := i;
          end;
          i := i + 1;
      end;

               ε
     G2 = ab(c(ε + d)eb)*f
45




ð th lu ng ñi u khi n

     Bài t p 1
        V ñ th lu ng ñi u khi n
        Xây d ng bi u th c chính quy bi u di n ñ th

                    if n <= 0 then
                              n := 1-n
                    end;
                    if (n mod 2) = 0 then
                              n := n / 2
                    else
                              n := 3*n + 1
                    end ;
                    write(n);


46




                                                      23
ð th lu ng ñi u khi n

     Bài t p 2
        V ñ th lu ng ñi u khi n
        Xây d ng bi u th c chính quy bi u di n ñ th

                 read(i);
                 s := 0;
                 while(i <= 3) do
                 begin
                           if a[i] > 0 thens := s + a[i];
                           i := i + 1;
                 end




47




Ki m th d a trên ðTLðK

     Các tiêu chu n bao ph
        Ph   t   tc   các ñ nh/l nh
        Ph   t   tc   các cung
        Ph   t   tc   các quy t ñ nh
        Ph   t   tc   các ñư ng ñi




48




                                                            24
Ki m th d a trên ðTLðK
 Ph t t c các ñ nh/l nh

      Cho phép ph t t c các ñ nh/l nh
         m i l nh ñư c th c thi ít nh t m t l n
         tiêu chu n t i thi u

functionsum(x,y : integer) : integer;
begin
  if (x = 0) then
           sum := x
  else
           sum := x + y
end;

            Khi th c thi l trình acd s phát hi n l i
 49




 Ki m th d a trên ðTLðK
 Ph t t c các ñ nh/l nh

      H n ch c a tiêu chu n


       read(x);
       …
       if (x <> 0) then x := 1;
       …
       y := 1/x;




        Ph t t c các ñ nh không phát hi n ñư c phát hi n l i

 50




                                                               25
Ki m th d a trên ðTLðK
Ph t t c các cung

     Ph t t c các cung ít nh t m t l n
        ph t t các giá tr ñúng sai c a m t bi u th c lô-gíc
        ph t t c các cung kéo theo ph t t c các ñ nh


 if ((a < 2) and (b = a))
 then
            x := 2 -a
 else
            x := a -2



      D li u th DT1 = {a=b=1} và DT2 = {a=b=3} th a mãn ph
      t t c các cung, nhưng không ph t t c các quy t ñ nh,
51    ch ng h n DT3 = {a=3, b=2}




Ki m th d a trên ðTLðK
Ph t t c các quy t ñ nh

     Ph t t c các quy t ñ nh ñư c th a mãn khi:
        tiêu chu n ph t t c các cung ñư c th a mãn và
        m i bi u th c con c a bi u th c ñi u ki n ñư c th
        v i t t c các giá tr có th

     N u (a AND b)
        a = b = true
        a = b = false
        a = true, b = false
        a = false, b = true


52




                                                              26
Ki m th d a trên ðTLðK
Ph t t c các quy t ñ nh

 D li u th
     DT1 = {a = b = 1}
     DT2 = {a = 1, b = 0}
     DT3 = {a = 3, b = 2}
     DT4 = {a = b = 3}




53




Ki m th d a trên ðTLðK
Ph t t c các quy t ñ nh

     H n ch
       Không phát hi n l i trư ng h p không th c thi
       vòng l p
         read(inf, sup);
         i := inf;
         sum:= 0;
         while(i <= sup) do
         begin
                   sum:= sum+ a[i];
                   i := i + 1;
         end;
         writeln(1/sum);

     D li u th DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3} ph
54   t t c các cung/quy t ñ nh, nhưng không phát hi n l i




                                                                    27
Ki m th d a trên ðTLðK
Ph t t c các l trình

     M i l trình ph i ñư c th c thi ít nh t m t
     l n

     G p khó khăn khi s l n l p vô h n
       Ch th c hi n m t s l n l p nh t ñ nh

       Ho c ch th c hi n hai lo i l trình
         • các l trình vư t qua vòng l p nhưng không l p
         • các l trình ch l p n l n (ch ng h n n = 1)


55




Ki m th d a trên ðTLðK
Ph t t c các l trình

     D li u th
       DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3}
       DT2 = {a[1]=50, a[2]=60, a[3]=80, inf=3, sup=2}




56




                                                           28
Ki m th d a trên ðTLðK
Bài t p

     Xây d ng d li u th th a mãn các tiêu chu n
       ph t t c các ñ nh
       ph t t c các cung
       ph t t c các l trình
                        if n ≤ 0 then
                                  n := 1-n
                        end;
                        if (n mod 2) = 0
                        then
                                  n := n / 2
                        else
                                  n := 3*n + 1
                        end ;
                        write(n);
57




Ki m th d a trên ðTLðK
Bài t p

     Xây d ng d li u th th a mãn các tiêu chu n ph
     t t c các l trình
           function goodstring(var count : integer) : boolean;
           var ch : char;
           begin
             goodstring := false;
             count := 0;
             read(ch);
             if ch = ‘a’ then
                begin
                      read(ch)
                      while(ch = ‘b’) or (ch = ‘c’) do begin
                         count := count + 1;
                         read(ch);
                      end;
                      if ch = ‘x’ then goodstring = true;
                end;
58         end;




                                                                 29

Weitere ähnliche Inhalte

Was ist angesagt?

Bai05 thiet ketestcase-k-trpm@softtesting-nntu
Bai05 thiet ketestcase-k-trpm@softtesting-nntuBai05 thiet ketestcase-k-trpm@softtesting-nntu
Bai05 thiet ketestcase-k-trpm@softtesting-nntu
Van Pham
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
Dotnet Open Group
 
Bai tap testing junit…..
Bai tap testing junit…..Bai tap testing junit…..
Bai tap testing junit…..
Mua Xuong
 

Was ist angesagt? (20)

Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case
 
2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang 2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Bai05 thiet ketestcase-k-trpm@softtesting-nntu
Bai05 thiet ketestcase-k-trpm@softtesting-nntuBai05 thiet ketestcase-k-trpm@softtesting-nntu
Bai05 thiet ketestcase-k-trpm@softtesting-nntu
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
6 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 20216 câu hỏi phỏng vấn tester thông dụng năm 2021
6 câu hỏi phỏng vấn tester thông dụng năm 2021
 
Effective software testing
Effective software testingEffective software testing
Effective software testing
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
 
Cac kythuatktpm
Cac kythuatktpmCac kythuatktpm
Cac kythuatktpm
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
 
Kiểm Thử Junit
Kiểm Thử Junit Kiểm Thử Junit
Kiểm Thử Junit
 
Bai tap testing junit…..
Bai tap testing junit…..Bai tap testing junit…..
Bai tap testing junit…..
 
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đLuận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
Luận văn: Kiểm thử tự động tương tác giao diện người dùng, 9đ
 
Unit Test with test JUNIT
Unit Test with test JUNIT Unit Test with test JUNIT
Unit Test with test JUNIT
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 

Andere mochten auch (9)

Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester Full
 
Thực tập kiểm thử phần mềm
Thực tập kiểm thử phần mềmThực tập kiểm thử phần mềm
Thực tập kiểm thử phần mềm
 
Cnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinhCnpmnc ch3 kiem thu ql cau hinh
Cnpmnc ch3 kiem thu ql cau hinh
 
Kiểm thử bảo mật web
Kiểm thử bảo mật webKiểm thử bảo mật web
Kiểm thử bảo mật web
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Redmine - a project management system
Redmine - a project management systemRedmine - a project management system
Redmine - a project management system
 
Redmine
RedmineRedmine
Redmine
 
Báo cáo thực tập (slide power point)
Báo cáo thực tập (slide power point)Báo cáo thực tập (slide power point)
Báo cáo thực tập (slide power point)
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
 

Ähnlich wie Kiểm thử phần mềm

Week 03-software process
Week 03-software processWeek 03-software process
Week 03-software process
Nguyen Tran
 
El 5 e l strategy
El 5   e l strategyEl 5   e l strategy
El 5 e l strategy
hoatuy
 
22. ky nang to chuc cong viec
22. ky nang to chuc cong viec22. ky nang to chuc cong viec
22. ky nang to chuc cong viec
Tang Tan Dung
 
Week 04-requirements vn
Week 04-requirements vnWeek 04-requirements vn
Week 04-requirements vn
Nguyen Tran
 
D cng qun_tr_d_an
D cng qun_tr_d_anD cng qun_tr_d_an
D cng qun_tr_d_an
Luoi TuTu
 

Ähnlich wie Kiểm thử phần mềm (20)

Slide bai giang_kiem_thu
Slide bai giang_kiem_thuSlide bai giang_kiem_thu
Slide bai giang_kiem_thu
 
Giao trinh cnc_cho_may_phay.pdf tailieumoi
Giao trinh cnc_cho_may_phay.pdf tailieumoiGiao trinh cnc_cho_may_phay.pdf tailieumoi
Giao trinh cnc_cho_may_phay.pdf tailieumoi
 
Cac kythuatktpm
Cac kythuatktpmCac kythuatktpm
Cac kythuatktpm
 
Bai giang xay dung thuat toan y sinh thay nghin
Bai giang xay dung thuat toan y sinh thay nghinBai giang xay dung thuat toan y sinh thay nghin
Bai giang xay dung thuat toan y sinh thay nghin
 
Week 03-software process
Week 03-software processWeek 03-software process
Week 03-software process
 
Bài giảng lập và quản lý dự án đầu tư
Bài giảng lập và quản lý dự án đầu tưBài giảng lập và quản lý dự án đầu tư
Bài giảng lập và quản lý dự án đầu tư
 
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Tranghoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
hoccokhi.vn Giáo Trình CNC Cho Máy Phay - Bùi Quý Tuấn, 113 Trang
 
Giao trinh qlda tong hop
Giao trinh qlda tong hopGiao trinh qlda tong hop
Giao trinh qlda tong hop
 
Chuong 2 phan tich cong viec
Chuong 2 phan tich cong viecChuong 2 phan tich cong viec
Chuong 2 phan tich cong viec
 
chuong 5
chuong 5chuong 5
chuong 5
 
El 5 e l strategy
El 5   e l strategyEl 5   e l strategy
El 5 e l strategy
 
Congviec
CongviecCongviec
Congviec
 
22. ky nang to chuc cong viec
22. ky nang to chuc cong viec22. ky nang to chuc cong viec
22. ky nang to chuc cong viec
 
Week 04-requirements vn
Week 04-requirements vnWeek 04-requirements vn
Week 04-requirements vn
 
Tai lieu microsoft project 2007 smith.n
Tai lieu microsoft project 2007   smith.nTai lieu microsoft project 2007   smith.n
Tai lieu microsoft project 2007 smith.n
 
Test Types & Test Levels.pdf
Test Types & Test Levels.pdfTest Types & Test Levels.pdf
Test Types & Test Levels.pdf
 
D cng qun_tr_d_an
D cng qun_tr_d_anD cng qun_tr_d_an
D cng qun_tr_d_an
 
Phân tích tương quan hồi quy
Phân tích tương quan hồi quyPhân tích tương quan hồi quy
Phân tích tương quan hồi quy
 
Spss lesson 5.3 Tương quan hồi quy (hồi quy tuyến tính đa biến)
Spss lesson 5.3 Tương quan hồi quy (hồi quy tuyến tính đa biến)Spss lesson 5.3 Tương quan hồi quy (hồi quy tuyến tính đa biến)
Spss lesson 5.3 Tương quan hồi quy (hồi quy tuyến tính đa biến)
 
Dao tao nhan_thuc_chung ve iso
Dao tao nhan_thuc_chung ve isoDao tao nhan_thuc_chung ve iso
Dao tao nhan_thuc_chung ve iso
 

Kürzlich hochgeladen

SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
ChuThNgnFEFPLHN
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
dnghia2002
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
DungxPeach
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
ltbdieu
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
dangdinhkien2k4
 

Kürzlich hochgeladen (20)

SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 

Kiểm thử phần mềm

  • 1. Ki m th (9) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung Gi i thi u v ki m th Ki m th trong ti n trình phát tri n Ki m th h p ñen Ki m th h p tr ng 2 1
  • 2. Ki m th là gì ? IEEE: Ki m th là ti n trình v n hành h th ng ho c thành ph n dư i nh ng ñi u ki n xác ñ nh, quan sát ho c ghi nh n k t qu và ñưa ra ñánh giá v h th ng ho c thành ph n ñó Myers: Ki m th là ti n trình th c thi chương trình v i m c ñích tìm th y l i (The art of software testing) 3 Ki m th là gì ? Ki m th ≠ G r i (debug) Ki m th • nh m phát hi n l i G r i • xác ñ nh b n ch t l i và ñ nh v l i trong chương trình • ti n hành s a l i 4 2
  • 3. Các khái ni m M t sai sót (error) là m t s nh m l n hay m t s hi u sai trong quá trình phát tri n ph n m m c a ngư i phát tri n M t l i (fault, defect) xu t hi n trong ph n m m như là k t qu c a m t sai sót M t h ng hóc (failure) là k t qu c a m t l i xu t hi n làm cho chương trình không ho t ñ ng ñư c hay ho t ñ ng nhưng cho k t qu không như mong ñ i sai sót l i h ng hóc 5 Các khái ni m D li u th (test data) d li u vào c n cung c p cho ph n m m trong khi th c thi K ch b n ki m th (test scenario) các bư c th c hi n khi khi ki m th Phán xét ki m th (test oracle) ñánh giá k t qu c a ki m th • t ñ ng: chương trình • th công: con ngư i 6 3
  • 4. Các khái ni m Ki m th viên (tester) ngư i th c hi n ki m th Ca ki m th (test case) t p d li u th ñi u ki n th c thi k t qu mong ñ i 7 Các khái ni m 8 4
  • 5. Ti n trình ki m th Ki m th thư ng bao g m các bư c thi t k các ca ki m th bư c t o d li u th • ki m th v i t t c các d li u vào là c n thi t • không th ki m th “vét c n” • ch n t p các d li u th ñ i di n t mi n d li u vào • d a trên các tiêu chu n ch n d li u th bư c th c thi chương trình trên d li u th • cung c p d li u th • th c thi • ghi nh n k t qu bư c quan sát k t qu ki m th • th c hi n trong khi ho c sau khi th c thi • so sánh k t qu nh n ñư c và k t qu mong ñ i 9 Ti n trình ki m th 10 5
  • 6. Khó khăn c a ki m th Liên quan ñ n ti n trình phát tri n g m nhi u giai ño n phát tri n • cái ra c a m t giai ño n là cái vào c a giai ño n khác • m t mát thông tin V m t con ngư i thi u ñào t o ít chú tr ng vai trò ki m th V m t k thu t không t n t i thu t toán t ng quát có th ch ng minh s ñúng ñ n hoàn toàn c a b t kỳ m t chương trình nào 11 T i sao ki m th H p th c hóa (validation) ch ra r ng s n ph m ñáp ng ñư c yêu c u ngư i s d ng Xác minh (verification) ch ra r ng s n ph m th a mãn ñ c t yêu c u Phân bi t h p th c hóa và xác minh “Verification: Are we building the product right ?” “Validation: Are we building the right product ?” 12 6
  • 7. Ki m th trong ti n trình phát tri n Các k thu t ki m th k thu t ki m th tĩnh (static testing) k thu t ki m th ñ ng (dynamic testing) • ki m th h p ñen (black-box testing) • k thu t ki m th ch c năng (functional testing) • ki m th h p tr ng (white-box testing) • k thu t ki m th c u trúc (structural testing) Các ho t ñ ng ki m th /chi n lư c ki m th ki m th ñơn v (unit testing) ki m th tích h p (integration testing) ki m th h p th c hóa (validation testing) ki m th h i quy (regression testing) 13 Ki m th trong ti n trình phát tri n Ki m th ñơn v (unit testing) ki m th m i ñơn v ph n m m (mô-ñun) s d ng k thu t ki m th h p ñen d li u th ñươc t o ra d a trên tài li u thi t k có th s d ng c ki m th h p tr ng và ki m th tĩnh • ph n m m yêu c u ch t lư ng cao thư ng ñư c th c hi n trên ph n c ng phát tri n ph n m m 14 7
  • 8. Ki m th trong ti n trình phát tri n Ki m th tích h p (integration testing) sau khi ñã th c hi n ki m th ñơn v ghép n i các ñơn v /thành ph n ph n m m ki m th s ghép n i, trao ñ i d li u gi a các ñơn v /thành ph n s d ng k thu t ki m th h p ñen môt s trư ng h p, s d ng k thu t ki m th h p tr ng • chi phí cao, khó khăn d li u th ñư c t o ra d a trên thi t k t ng th 15 Ki m th trong ti n trình phát tri n Ki m th tích h p (2) c n xây d ng thêm • nút trám (stub): các thành ph n khác mô ph ng các thành ph n ph n m m chưa ñư c tích h p • trình ñi u khi n (driver): các thành ph n t o ra các d li u vào cho m t vài các thành ph n ph n m m trong t p h p ñang ñư c ki m th 16 8
  • 9. Ki m th trong ti n trình phát tri n Ki m th tích h p (3) 17 Ki m th trong ti n trình phát tri n Ki m th tích h p (4) chi n lư c t trên xu ng (top-down) • ki m th tích h p các thành ph n chính trư c, sau ñó thêm vào các thành ph n ñư c g i tr c ti p b i các thành ph n v a ki m th • cho phép xác ñ nh s m các l i v ki n trúc • các b d li u th có th ñư c tái s d ng cho các bư c ti p theo • tuy nhiên chi n lư c này ñòi h i ph i xây d ng nhi u nút trám chi n lư c t dư i lên (bottom-up) • ki m th các thành ph n không g i các thành ph n khác, sau ñó thêm vào các thành ph n g i các thành ph n v a ki m th • ít s d ng các nút trám • nhưng l i xác ñ nh l i tr hơn 18 9
  • 10. Ki m th trong ti n trình phát tri n Ki m th h p th c hóa (validation testing) còn g i là ki m th h th ng (system testing) th c hi n sau khi ki m th tích h p k t thúc ch ng minh ph n m m th c hi n ñúng mong ñ i c a ngư i s d ng d a vào yêu c u ngư i s d ng ch s d ng k thu t ki m th h p ñen nên th c hi n trong môi trư ng mà ph n m m s ñư c s d ng 19 Ki m th trong ti n trình phát tri n Ki m th h i quy (regression testing) ph n m m sau khi ñưa vào s d ng, có th có các ch nh s a • có th phát sinh l i m i c n ki m th l i: ki m th h i quy thư ng tái s d ng các b d li u th ñã s d ng trong các giai ño n trư c 20 10
  • 11. Ki m th trong mô hình V ð c t yêu c u Ki m th h p th c hóa Thi t k ki n trúc Ki m th tích h p Thi t k chi ti t Ki m th ñơn v Mã hóa 21 Các k thu t ki m th k thu t ki m th tĩnh (static testing) • không th c thi chương trình k thu t ki m th ñ ng (dynamic testing) • ki m th h p ñen (black-box testing) • k thu t ki m th ch c năng (functional testing) • ki m th h p tr ng (white-box testing) • k thu t ki m th c u trúc (structural testing) 22 11
  • 12. Ki m th tĩnh Thanh tra mã ngu n (code inspection) Ch ng minh hình th c Th c thi hình th c (symbolic execution) ðánh giá ñ ph c t p McCabe Nejmeh 23 Ki m th h p ñen Inputs causing anomalous Input test data I behaviour e System Outputs which reveal the presence of Output test results Oe defects 24 12
  • 13. Ki m th h p ñen Ch c n d a vào ñ c t chương trình Xây d ng d li u th trư c khi mã hóa/l p trình Thư ng phát hi n các l i ñ c t yêu c u, thi t k D dàng th c hi n Chi phí th p 25 Ki m th h p ñen Ki m th giá tr biên (boundary value analysis) Ki m th l p tương ñương (equivalence class testing) Ki m th ng u nhiên (random testing) ð th nhân-qu (cause-efect graph) Ki m th cú pháp 26 13
  • 14. Ki m th giá tr biên Cơ s l i thư ng xu t hi n g n các giá tr biên c a mi n dũ li u T p trung phân tích các giá tr biên c a mi n d li u ñ xây d ng d li u ki m th Nguyên t c: ki m th các d li u vào g m giá tr nh nh t giá tr g n k l n hơn giá tr nh nh t giá tr bình thư ng giá tr g n k nh hơn giá tr l n nh t giá tr l n nh t 27 Ki m th giá tr biên 28 14
  • 15. Ki m th giá tr biên Nguyên t c ch n d li u th N u d li u vào thu c m t kho ng, ch n • 2 giá tr biên • 4 giá tr = giá tr biên ± sai s nh nh t N u giá tr vào thu c danh sách các giá tr , ch n • ph n t th nh t, ph n t th hai, ph n t k cu i và ph n t cu i N u d li u vào là ñi u ki n ràng bu c s giá tr , ch n • s giá tr t i thi u, s giá tr t i ña và m t s các s giá tr không h p l T v n d ng kh năng và th c t ñ ch n các giá tr biên c n ki m th 29 Ki m th giá tr biên Ví d (1) Chương trình nh n vào ba s th c, ki m tra ba s th c có là ñ dài ba c nh m t tam giác. N u là ñ dài ba c nh c a m t tam giác, thì ki m tra xem ñó là tam giác thư ng, cân, ñ u cũng như ki m tra ñó là tam giác nh n, vuông hay tù. 30 15
  • 16. Ki m th giá tr biên Ví d (2) D li u th 1, 1, 2 Không là tam giác 0, 0, 0 Ch m t ñi m 4, 0, 3 M t c nh b ng không 1, 2, 3.00001 G n là m t tam giác 0.001, 0.001, 0.001 Tam giác r t nh 99999, 99999, 99999 Tam giác r t l n 3.00001, 3, 3 Tam giác g n ñ u 2.99999, 3, 4 Tam giác g n cân 3, 4, 5.00001 Tam giác giác g n vuông 3, 4, 5, 6 B n giá tr 3 Ch m t giá tr D li u vào r ng -3, -3, 5 Giá tr âm 31 Ki m th l p tương ñương Ý tư ng phân ho ch mi n d li u vào thành các l p các d li u có quan h v i nhau m i l p dùng ñ ki m th m t ch c năng, g i là l p tương ñương 32 16
  • 17. Ki m th l p tương ñương Ba bư c ñ i v i m i d li u vào, xác ñ nh các l p tương ñương t mi n d li u vào ch n d li u ñ i di n cho m i l p tương ñương k t h p các d li u th b i tích ð -các ñ t i ra b d li u ki m th 33 Ki m th l p tương ñương Nguyên t c phân ho ch các l p tương ñương N u d li u vào thu c m t kho ng, xây d ng • 1 l p các giá tr l n hơn • 1 l p các giá tr nh hơn • n l p các giá tr h p l N u d li u là t p h p các giá tr , xây d ng • 1 l p v i t p r ng • 1 l p quá nhi u các giá tr • nl ph pl N u d li u vào là ñi u ki n ràng bu c, xây d ng • 1 l p v i ràng bu c ñư c th a mãn • 1 l p v i ràng bu c không ñư c th a mãn 34 17
  • 18. Ki m th l p tương ñương Ví d Bài toán tam giác Nh n Vuông Tù Thư ng 6,5,3 5,6,10 3,4,5 Cân 6,1,6 7,4,4 √2,2,√2 ð u 4,4,4 không th không th Không là tam giác -1,2,8 35 Bài t p Ki m th giá tr biên Vi t m t chương trình th ng kê phân tích m t t p ch a tên và ñi m c a sinh viên trong m t năm h c. T p này ch a nhi u nh t 100 trư ng. M i trư ng ch a tên c a m i sinh viên (20 ký t ), gi i tính (1 ký t ) và ñi m c a 5 môn h c (t 0 ñ n 10). M c ñích chương trình: • tính di m trung bình m i sinh viên • tính ñi m trung bình chung (theo gi i tính et theo môn h c) • tính s sinh viên lên l p (ñi m trung bình trên 5) Xây d ng d li u th cho chương trình trên b i ki m th giá tr biên 36 18
  • 19. Bài t p Ki m th l p tương ñương Vi t chương trình d ch, trong ñó có câu l nh FOR, ñ c t câu l nh FOR như sau: “L nh FOR ch ch p nh n m t tham s duy nh t là bi n ñ m. Tên bi n không ñư c s d ng quá hai ký t khác r ng. Sau ký hi u = là c n dư i và c n trên c a bi n ñ m. Các c n trên và c n dư i là các s nguyên dương và ñư c ñ t gi a t khóa TO”. Xây d ng d li u th ñ ki m th câu l nh FOR theo k thu t ki m th l p tương ñương 37 Ki m th h p tr ng D a vào mã ngu n/c u trúc chương trình Xây d ng d li u th sau khi mã hóa/l p trình Thư ng phát hi n các l i l p trình Khó th c hi n Chi phí cao 38 19
  • 20. Các k thu t ki m th h p tr ng Ki m th d a trên ñ th lu ng ñi u khi n Ki m th d a trên ñ th lu ng d li u Ki m th ñ t bi n (mutation testing) 39 ð th lu ng ñi u khi n ð th lu ng ñi u khi n (Control Flow Graph - ðTLðK) là ñ th có hư ng, bi u di n m t chương trình ñ nh: bi u di n l nh tu n t hay kh i l nh cung: bi u di n các r nhánh m t ñ nh vào và m t ñ nh ra ñư c thêm vào ñ bi u di n ñi m vào và ra c a chương trình L trình (path) trong ðTLðK xu t phát t ñ nh vào ñi qua các ñ nh và cung trong ñ th và k t thúc t i ñ nh ra 40 20
  • 21. ð th lu ng ñi u khi n Ví d 1 if x <= 0 then x := -x else x := 1 -x; if x = -1 then x=1 else x := x+1; writeln(x); 41 ð th lu ng ñi u khi n Ví d 1 (2) Có 4 l trình • [a, b, d, f, g] • [a, b, d, e, g] • [a, c, d, f, g] • [a, c, d, e, g] 42 21
  • 22. ð th lu ng ñi u khi n Ví d 1 (3) ð th G1 có th bi u di n d ng bi u th c chính quy: G1 = abdfg + abdeg + acdfg + acdeg Hay ñơn gi n: G1 = a(bdf + bde + bdf + bde)g G1 = a(b + c)d(e + f)g 43 ð th lu ng ñi u khi n Bi u di n các c u trúc C u trúc tu n t : ab C u trúc r nhánh: b(a + d)c C u trúc l p: ab(cb)*d 44 22
  • 23. ð th lu ng ñi u khi n Ví d 2 i := 1; found:= false; while (not found) do begin if (a[i] = E) then begin found:= true; s := i; end; i := i + 1; end; ε G2 = ab(c(ε + d)eb)*f 45 ð th lu ng ñi u khi n Bài t p 1 V ñ th lu ng ñi u khi n Xây d ng bi u th c chính quy bi u di n ñ th if n <= 0 then n := 1-n end; if (n mod 2) = 0 then n := n / 2 else n := 3*n + 1 end ; write(n); 46 23
  • 24. ð th lu ng ñi u khi n Bài t p 2 V ñ th lu ng ñi u khi n Xây d ng bi u th c chính quy bi u di n ñ th read(i); s := 0; while(i <= 3) do begin if a[i] > 0 thens := s + a[i]; i := i + 1; end 47 Ki m th d a trên ðTLðK Các tiêu chu n bao ph Ph t tc các ñ nh/l nh Ph t tc các cung Ph t tc các quy t ñ nh Ph t tc các ñư ng ñi 48 24
  • 25. Ki m th d a trên ðTLðK Ph t t c các ñ nh/l nh Cho phép ph t t c các ñ nh/l nh m i l nh ñư c th c thi ít nh t m t l n tiêu chu n t i thi u functionsum(x,y : integer) : integer; begin if (x = 0) then sum := x else sum := x + y end; Khi th c thi l trình acd s phát hi n l i 49 Ki m th d a trên ðTLðK Ph t t c các ñ nh/l nh H n ch c a tiêu chu n read(x); … if (x <> 0) then x := 1; … y := 1/x; Ph t t c các ñ nh không phát hi n ñư c phát hi n l i 50 25
  • 26. Ki m th d a trên ðTLðK Ph t t c các cung Ph t t c các cung ít nh t m t l n ph t t các giá tr ñúng sai c a m t bi u th c lô-gíc ph t t c các cung kéo theo ph t t c các ñ nh if ((a < 2) and (b = a)) then x := 2 -a else x := a -2 D li u th DT1 = {a=b=1} và DT2 = {a=b=3} th a mãn ph t t c các cung, nhưng không ph t t c các quy t ñ nh, 51 ch ng h n DT3 = {a=3, b=2} Ki m th d a trên ðTLðK Ph t t c các quy t ñ nh Ph t t c các quy t ñ nh ñư c th a mãn khi: tiêu chu n ph t t c các cung ñư c th a mãn và m i bi u th c con c a bi u th c ñi u ki n ñư c th v i t t c các giá tr có th N u (a AND b) a = b = true a = b = false a = true, b = false a = false, b = true 52 26
  • 27. Ki m th d a trên ðTLðK Ph t t c các quy t ñ nh D li u th DT1 = {a = b = 1} DT2 = {a = 1, b = 0} DT3 = {a = 3, b = 2} DT4 = {a = b = 3} 53 Ki m th d a trên ðTLðK Ph t t c các quy t ñ nh H n ch Không phát hi n l i trư ng h p không th c thi vòng l p read(inf, sup); i := inf; sum:= 0; while(i <= sup) do begin sum:= sum+ a[i]; i := i + 1; end; writeln(1/sum); D li u th DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3} ph 54 t t c các cung/quy t ñ nh, nhưng không phát hi n l i 27
  • 28. Ki m th d a trên ðTLðK Ph t t c các l trình M i l trình ph i ñư c th c thi ít nh t m t l n G p khó khăn khi s l n l p vô h n Ch th c hi n m t s l n l p nh t ñ nh Ho c ch th c hi n hai lo i l trình • các l trình vư t qua vòng l p nhưng không l p • các l trình ch l p n l n (ch ng h n n = 1) 55 Ki m th d a trên ðTLðK Ph t t c các l trình D li u th DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3} DT2 = {a[1]=50, a[2]=60, a[3]=80, inf=3, sup=2} 56 28
  • 29. Ki m th d a trên ðTLðK Bài t p Xây d ng d li u th th a mãn các tiêu chu n ph t t c các ñ nh ph t t c các cung ph t t c các l trình if n ≤ 0 then n := 1-n end; if (n mod 2) = 0 then n := n / 2 else n := 3*n + 1 end ; write(n); 57 Ki m th d a trên ðTLðK Bài t p Xây d ng d li u th th a mãn các tiêu chu n ph t t c các l trình function goodstring(var count : integer) : boolean; var ch : char; begin goodstring := false; count := 0; read(ch); if ch = ‘a’ then begin read(ch) while(ch = ‘b’) or (ch = ‘c’) do begin count := count + 1; read(ch); end; if ch = ‘x’ then goodstring = true; end; 58 end; 29