ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
M¨¬nh c?ng m?i l¨¤m tester ch? ???c m?t n?m th?i, n¨ºn n¨®i v? kinh nghi?m th¨¬ kh?ng
nhi?u l?m. Ch? y?u m¨¬nh v?n ?ang h?c h?i kinh nghi?m t? nhi?u b?n kh¨¢c tr¨ºn
??y, v¨¤ m¨¬nh t¨¬m hi?u theo c?u h?i c?a c¨¢c b?n h?i, v¨¬ khi m¨¬nh tr? l?i th¨¬ c¨® b?n
s? ch?nh ch? sai cho m¨¬nh, nh? v?y ng¨¤y qua ng¨¤y m¨¬nh s? kh¨¢ h?n.
N¨®i v? ?o¨¢n l?i th¨¬ m¨¬nh chia s? nh?ng g¨¬ m¨¬nh bi?t nha, k? thu?t n¨¤y ?¨°i h?i kinh
nghi?m l¨¤ ch? y?u, v¨¬ sau qu¨¢ tr¨¬nh m¨¬nh l¨¤m vi?c nhi?u, m¨¬nh ?? g?p nhi?u tr??ng
h?p, g?p nhi?u qui tr¨¬nh x? l? c?ng vi?c r?i n¨ºn khi g?p m?t d? ¨¢n m?i, m?t ph?n
m?m m?i, m¨¬nh s? bi?t ???c d?ng ph?n m?m n¨¤y hay lo?i m¨¤n h¨¬nh n¨¤y (v¨ª d? m¨¤n
h¨¬nh search, m¨¤n h¨¬nh login, m¨¤n h¨¬nh th¨ºm m?i, edit, delete,...) th¨¬ th??ng g?p
nh?ng l?i g¨¬. Ho?c sau khi th?c hi?n m?t v¨¤i thao t¨¢c th¨¬ k?t qu? ph?i x?y ra nh?
th? n¨¤o,...
V¨ª d?:
??i v?i m¨¤n h¨¬nh search:
+ Th??ng x?y ra l?i search c? nh?ng record ?? b? x¨®a (del_flg = 1) v¨¬ v?y
khi vi?t test case v¨¤ test m¨¤n h¨¬nh search th¨¬ n¨ºn th¨ºm v¨¤o test case n¨¤y (g¨¢n
del_flg = 1 cho m?t s? record r?i th?c hi?n search, n?u nh?ng record n¨¤y
???c hi?n th? tr¨ºn m¨¤n h¨¬nh th¨¬ sai).+ Ti?p theo, nh?p ?i?u ki?n sao cho khi
search ???c 0 record th¨¬ kh?ng hi?n th? ???c m¨¤n h¨¬nh m¨¤ l?i b¨¢o l?i "Null
pointer" do trong code kh?ng x? l? kh?i t?o list ch?a danh s¨¢ch c¨¢c record
search ???c.+ Ph?n ph?n trang, th??ng th¨¬ mong mu?n l¨¤: (gi? s? ph?n
trang l¨¤ 20 records - m?t trang ch? ch?a ???c 20 d¨°ng)
++ Search ???c 0 record th¨¬ ch? hi?n th? header (ph?n datagrid ch?
hi?n th? header)
++ Search ???c 20 records th¨¬ hi?n th? header v¨¤ 20 d¨°ng n¨¤y tr¨ºn 1
trang
++ Search ???c 21 records th¨¬ hi?n th? header v¨¤ 20 d¨°ng n¨¤y tr¨ºn
trang 1 v¨¤ 1 d¨°ng tr¨ºn trang 2.++ Search ???c 50 records th¨¬ hi?n th?
header v¨¤ 20 d¨°ng n¨¤y tr¨ºn 1 trang v¨¤ 20 d¨°ng tr¨ºn trang 2 v¨¤ 10
d¨°ng tr¨ºn trang 3
Nhi?u khi DEV qu¨ºn x? l? ph?n trang th¨¬ khi search ???c nhi?u h?n s? record
ch?a trong 1 trang th¨¬ b? l?i ho?c hi?n th? t?t c? tr¨ºn 1 trang.
Trong tr??ng h?p ?ang hi?n th? nhi?u trang th¨¬ click Next v¨¤ Prev ?? ki?m tra xem
c¨® qua l?i gi?a c¨¢c trang ???c kh?ng nh¨¦ v¨¬ c?ng hay b? l?i ch? n¨¤y n?u l¨¤ control
n¨¤y do m¨¬nh t? vi?t (th??ng th¨¬ d¨´ng component c?a framework nh?ng trong ADF
th¨¬ th??ng t? vi?t b?ng java ?? d? ki?m so¨¢t)
??i v?i m¨¤n h¨¬nh Login:
+ Ch¨² ? ph?n b?o m?t: ??i khi DEV code th¨¬ g¨¢n user name l¨¤ "admin" v¨¤
pass l¨¤ r?ng ho?c l¨¤ "123" v¨¬ v?y m¨¬nh n¨ºn th? tr??ng h?p n¨¤y.
+ Th? th? c¨¢c tr??ng h?p SQL injection
+ ?? user name v¨¤ pass r?ng r?i enter. (nhi?u khi DEV kh?ng x? l? action
enter cho login m¨¤ ph?i click button login)
??i v?i m¨¤n h¨¬nh Th¨ºm X¨®a S?a:
+ ? lo?i m¨¤n h¨¬nh n¨¤y th??ng x?y ra l?i l¨¤ khi th¨ºm m?i v¨¤o l?n th? 2 tr? ?i
th¨¬ b? b¨¢o l?i exception (l? do: do c¨¢ch x? l? ID khi th¨ºm m?i, th¨ºm l?n th? 2
th¨¬ b? tr¨´ng ID v?i l?n tr??c n¨ºn DB server kh?ng cho insert th¨ºm => l?i,
theo nguy¨ºn t?c th¨¬ sau khi th¨ºm m?i th¨¬ load l?i data nh?ng nhi?u DEV
kh?ng l¨¤m ?¨²ng nh? v?y)
+ Nh?ng record ?? b? x¨®a th¨¬ kh?ng ???c hi?n th? l¨ºn danh s¨¢ch x¨®a - s?a
(t??ng t? m¨¤n h¨¬nh search - v¨¬ khi load danh s¨¢ch l¨¤ search all)
+ N?u ch??ng tr¨¬nh c¨® y¨ºu c?u x? deadlock th¨¬ th??ng x?y ra l?i khi 2
ng??i ng?i tr¨ºn 2 m¨¢y kh¨¢c nhau c¨´ng s?a tr¨ºn 1 record c¨´ng l¨²c.
C¨¢ch test:
M? 2 m¨¤n h¨¬nh th¨ºm x¨®a s?a gi?ng nhau b?ng 2 browser kh¨¢c nhau.
sau ?¨® s?a tr¨ºn browser 1 r?i l?u l?i (th¨¤nh c?ng); Ti?p theo s?a tr¨ºn
browser 2 r?i l?u l?i, x? l? ?¨²ng l¨¤ hi?n th? th?ng b¨¢o l?i "record n¨¤y
?? ???c s?a b?i ng??i kh¨¢c" ngh?a l¨¤ kh?ng cho m¨¬nh s?a n?a, mu?n
s?a th¨¬ refresh l?i m¨¤n h¨¬nh ho?c l¨¤m sao ?¨® ?? load l?i data r?i s?a.
X? l? sai l¨¤ kh?ng hi?n th? th?ng b¨¢o l?i m¨¤ cho s?a lu?n.
(T¨¬nh hu?ng c?a vi?c n¨¤y nh? sau: 9h s¨¢ng, Tr??ng ph¨°ng v¨¤ Gi¨¢m
??c c¨´ng m? m¨¤n h¨¬nh x¨¦t th??ng, t?i m?t th?i ?i?m n¨¤o ?¨® 2 ng??i
c¨´ng click v¨¤o s?a field th??ng th¨¢ng 13 c?a nh?n vi¨ºn A. Gi¨¢m ??c
cho gi¨¢ tr? 300??ng, r?i l?u l?i v¨¤ ngh? l¨¤ nh?n vi¨ºn A s? ???c th??ng
300??ng. Trong khi ?¨® Tr??ng ph¨°ng c?ng m? n?i dung th?ng tin c?a
nh?n vi¨ºn A, v¨¤ cho field th??ng th¨¢ng 13 l¨¤ 350??ng, v¨¤ click button
Save sau Gi¨¢m ??c m?t x¨ªu xiu (v¨ª d? < 1s) th¨¬ gi¨¢ tr? "th??ng th¨¢ng
13" c?a nh?n vi¨ºn A l¨¤ 350??ng. Nh? v?y th¨¬ ch??ng tr¨¬nh ?? v? t¨¬nh
l¨¤m cho con ng??i thao t¨¢c sai, N?u ch??ng tr¨¬nh t?t th¨¬ ph?i hi?n th?
th?ng b¨¢o l?i khi Tr??ng ph¨°ng click save. V¨¬ data l¨²c ?¨® ?? kh¨¢c so
v?i data tr??c khi load l¨ºn ?? s?a.

More Related Content

Kn ?o¨¢n l?i testingvn

  • 1. M¨¬nh c?ng m?i l¨¤m tester ch? ???c m?t n?m th?i, n¨ºn n¨®i v? kinh nghi?m th¨¬ kh?ng nhi?u l?m. Ch? y?u m¨¬nh v?n ?ang h?c h?i kinh nghi?m t? nhi?u b?n kh¨¢c tr¨ºn ??y, v¨¤ m¨¬nh t¨¬m hi?u theo c?u h?i c?a c¨¢c b?n h?i, v¨¬ khi m¨¬nh tr? l?i th¨¬ c¨® b?n s? ch?nh ch? sai cho m¨¬nh, nh? v?y ng¨¤y qua ng¨¤y m¨¬nh s? kh¨¢ h?n. N¨®i v? ?o¨¢n l?i th¨¬ m¨¬nh chia s? nh?ng g¨¬ m¨¬nh bi?t nha, k? thu?t n¨¤y ?¨°i h?i kinh nghi?m l¨¤ ch? y?u, v¨¬ sau qu¨¢ tr¨¬nh m¨¬nh l¨¤m vi?c nhi?u, m¨¬nh ?? g?p nhi?u tr??ng h?p, g?p nhi?u qui tr¨¬nh x? l? c?ng vi?c r?i n¨ºn khi g?p m?t d? ¨¢n m?i, m?t ph?n m?m m?i, m¨¬nh s? bi?t ???c d?ng ph?n m?m n¨¤y hay lo?i m¨¤n h¨¬nh n¨¤y (v¨ª d? m¨¤n h¨¬nh search, m¨¤n h¨¬nh login, m¨¤n h¨¬nh th¨ºm m?i, edit, delete,...) th¨¬ th??ng g?p nh?ng l?i g¨¬. Ho?c sau khi th?c hi?n m?t v¨¤i thao t¨¢c th¨¬ k?t qu? ph?i x?y ra nh? th? n¨¤o,... V¨ª d?: ??i v?i m¨¤n h¨¬nh search: + Th??ng x?y ra l?i search c? nh?ng record ?? b? x¨®a (del_flg = 1) v¨¬ v?y khi vi?t test case v¨¤ test m¨¤n h¨¬nh search th¨¬ n¨ºn th¨ºm v¨¤o test case n¨¤y (g¨¢n del_flg = 1 cho m?t s? record r?i th?c hi?n search, n?u nh?ng record n¨¤y ???c hi?n th? tr¨ºn m¨¤n h¨¬nh th¨¬ sai).+ Ti?p theo, nh?p ?i?u ki?n sao cho khi search ???c 0 record th¨¬ kh?ng hi?n th? ???c m¨¤n h¨¬nh m¨¤ l?i b¨¢o l?i "Null pointer" do trong code kh?ng x? l? kh?i t?o list ch?a danh s¨¢ch c¨¢c record search ???c.+ Ph?n ph?n trang, th??ng th¨¬ mong mu?n l¨¤: (gi? s? ph?n trang l¨¤ 20 records - m?t trang ch? ch?a ???c 20 d¨°ng) ++ Search ???c 0 record th¨¬ ch? hi?n th? header (ph?n datagrid ch? hi?n th? header) ++ Search ???c 20 records th¨¬ hi?n th? header v¨¤ 20 d¨°ng n¨¤y tr¨ºn 1 trang ++ Search ???c 21 records th¨¬ hi?n th? header v¨¤ 20 d¨°ng n¨¤y tr¨ºn trang 1 v¨¤ 1 d¨°ng tr¨ºn trang 2.++ Search ???c 50 records th¨¬ hi?n th? header v¨¤ 20 d¨°ng n¨¤y tr¨ºn 1 trang v¨¤ 20 d¨°ng tr¨ºn trang 2 v¨¤ 10 d¨°ng tr¨ºn trang 3 Nhi?u khi DEV qu¨ºn x? l? ph?n trang th¨¬ khi search ???c nhi?u h?n s? record ch?a trong 1 trang th¨¬ b? l?i ho?c hi?n th? t?t c? tr¨ºn 1 trang. Trong tr??ng h?p ?ang hi?n th? nhi?u trang th¨¬ click Next v¨¤ Prev ?? ki?m tra xem c¨® qua l?i gi?a c¨¢c trang ???c kh?ng nh¨¦ v¨¬ c?ng hay b? l?i ch? n¨¤y n?u l¨¤ control n¨¤y do m¨¬nh t? vi?t (th??ng th¨¬ d¨´ng component c?a framework nh?ng trong ADF th¨¬ th??ng t? vi?t b?ng java ?? d? ki?m so¨¢t) ??i v?i m¨¤n h¨¬nh Login:
  • 2. + Ch¨² ? ph?n b?o m?t: ??i khi DEV code th¨¬ g¨¢n user name l¨¤ "admin" v¨¤ pass l¨¤ r?ng ho?c l¨¤ "123" v¨¬ v?y m¨¬nh n¨ºn th? tr??ng h?p n¨¤y. + Th? th? c¨¢c tr??ng h?p SQL injection + ?? user name v¨¤ pass r?ng r?i enter. (nhi?u khi DEV kh?ng x? l? action enter cho login m¨¤ ph?i click button login) ??i v?i m¨¤n h¨¬nh Th¨ºm X¨®a S?a: + ? lo?i m¨¤n h¨¬nh n¨¤y th??ng x?y ra l?i l¨¤ khi th¨ºm m?i v¨¤o l?n th? 2 tr? ?i th¨¬ b? b¨¢o l?i exception (l? do: do c¨¢ch x? l? ID khi th¨ºm m?i, th¨ºm l?n th? 2 th¨¬ b? tr¨´ng ID v?i l?n tr??c n¨ºn DB server kh?ng cho insert th¨ºm => l?i, theo nguy¨ºn t?c th¨¬ sau khi th¨ºm m?i th¨¬ load l?i data nh?ng nhi?u DEV kh?ng l¨¤m ?¨²ng nh? v?y) + Nh?ng record ?? b? x¨®a th¨¬ kh?ng ???c hi?n th? l¨ºn danh s¨¢ch x¨®a - s?a (t??ng t? m¨¤n h¨¬nh search - v¨¬ khi load danh s¨¢ch l¨¤ search all) + N?u ch??ng tr¨¬nh c¨® y¨ºu c?u x? deadlock th¨¬ th??ng x?y ra l?i khi 2 ng??i ng?i tr¨ºn 2 m¨¢y kh¨¢c nhau c¨´ng s?a tr¨ºn 1 record c¨´ng l¨²c. C¨¢ch test: M? 2 m¨¤n h¨¬nh th¨ºm x¨®a s?a gi?ng nhau b?ng 2 browser kh¨¢c nhau. sau ?¨® s?a tr¨ºn browser 1 r?i l?u l?i (th¨¤nh c?ng); Ti?p theo s?a tr¨ºn browser 2 r?i l?u l?i, x? l? ?¨²ng l¨¤ hi?n th? th?ng b¨¢o l?i "record n¨¤y ?? ???c s?a b?i ng??i kh¨¢c" ngh?a l¨¤ kh?ng cho m¨¬nh s?a n?a, mu?n s?a th¨¬ refresh l?i m¨¤n h¨¬nh ho?c l¨¤m sao ?¨® ?? load l?i data r?i s?a. X? l? sai l¨¤ kh?ng hi?n th? th?ng b¨¢o l?i m¨¤ cho s?a lu?n. (T¨¬nh hu?ng c?a vi?c n¨¤y nh? sau: 9h s¨¢ng, Tr??ng ph¨°ng v¨¤ Gi¨¢m ??c c¨´ng m? m¨¤n h¨¬nh x¨¦t th??ng, t?i m?t th?i ?i?m n¨¤o ?¨® 2 ng??i c¨´ng click v¨¤o s?a field th??ng th¨¢ng 13 c?a nh?n vi¨ºn A. Gi¨¢m ??c cho gi¨¢ tr? 300??ng, r?i l?u l?i v¨¤ ngh? l¨¤ nh?n vi¨ºn A s? ???c th??ng 300??ng. Trong khi ?¨® Tr??ng ph¨°ng c?ng m? n?i dung th?ng tin c?a nh?n vi¨ºn A, v¨¤ cho field th??ng th¨¢ng 13 l¨¤ 350??ng, v¨¤ click button Save sau Gi¨¢m ??c m?t x¨ªu xiu (v¨ª d? < 1s) th¨¬ gi¨¢ tr? "th??ng th¨¢ng 13" c?a nh?n vi¨ºn A l¨¤ 350??ng. Nh? v?y th¨¬ ch??ng tr¨¬nh ?? v? t¨¬nh l¨¤m cho con ng??i thao t¨¢c sai, N?u ch??ng tr¨¬nh t?t th¨¬ ph?i hi?n th? th?ng b¨¢o l?i khi Tr??ng ph¨°ng click save. V¨¬ data l¨²c ?¨® ?? kh¨¢c so v?i data tr??c khi load l¨ºn ?? s?a.