lOMoARcPSD| 58702377
1. Thêm thể loại
- Mã nguồn chương trình
public funcon postGenre(Request $request){
1. $genre = new Genre;
2. $genre->genre_name = $request->genre;
3. if($genre->genre_name == " "){
4. session()->ash('error','Tên thể loại không được để trống')
5. return redirect()->back();
}
6. $genre->save();
7. session()->ash('success', 'Thêm thể loại thành công!');
8. return redirect()->back(); }
1.1. Kiểm thử dòng điều khiển.
- Xây dựng sơ đồ thị dòng điều khiển
- Xác định ca kiểm kiểm thử đối với độ đo C1
TC
Đường đi
TC1
1,2,3,4,5
lOMoARcPSD| 58702377
TC2
1,2,3,6,7,8
- Các ca kiểm thử v độ đo C1
TC
Đầu vào
Đầu ra mong đợi
Đầu ra thực tế
TC1
genre_name = “ ”
Hiển thị thông báo “Tên thể
loại không được để trống”.
Hiển thị thông báo “Tên thể loi
không được để trống.
TC2
genre_name = “Hài
kịch”
Hiển thị thông báo “Thêm
thloại thành công.
Hiển thị thông báo “Thêm thể
loại thành công”.
- Xác định ca kiểm thử với độ đo C2
Điều kiện
Đúng
Sai
genre->$genre_name = “ ”
TC1
TC2
- Các ca kiểm thử v độ đo C2
TC
Đầu vào
Đầu ra mong đợi
Đầu ra thực tế
TC1
genre_name = “ ”
Hiển thị thông báo “Tên thể
loại không được để trống”.
Hiển thị thông báo “Tên thể loi
không được để trống.
TC2
genre_name = “Hài
kịch”
Hiển thị thông báo “Thêm
thloại thành công.
Hiển thị thông báo “Thêm thể
loại thành công”.
1.2. Kiểm thử dòng dữ liệu
2. Thêm tài khoản.
- Mã nguồn chương trình:
lOMoARcPSD| 58702377
public funcon postAddUser(Request $request){
// Kim tra độ dài và định dạng username
1. $username = $request->username;
2. if ($user->username == "") {
3. session()->ash('error', 'Username không được đtrống');
4. return redirect()->back();
}
5. if (preg_match('/[\d\s\W]/', $username)) {
6. session()->ash('error', ịnh dạng không hợp lệ.');
7. return redirect()->back();
}
8. if (strlen($username) < 6 || strlen($username) > 30) {
9. session()->ash('error', 'Username phải chứa từ 6 đến 30 kí tự.');
10. return redirect()->back();
}
// Kim tra name không chứa s
11. $name = $request->name;
12. if (preg_match('/[0-9\W]/', $name)) {
13. session()->ash('error', ịnh dạng không hợp lệ.');
14. return redirect()->back(); }
lOMoARcPSD| 58702377
// Kim tra định dạng email
15. $email = $request->email;
16. if (!lter_var($email, FILTER_VALIDATE_EMAIL)) {
17. session()->ash('error', 'Email không đúng định dạng.');
18. return redirect()->back();
}
// Kim tra định dạng phone
19. $phoneNumber = $request->phone_number;
20. if (!preg_match('/^[0-9]{10}$/', $phoneNumber)) {
21. session()->ash('error', 'Sđiện thoại phải gồm 10 chữ số và không được
chứa ký tự khác.');
22. return redirect()->back(); }
// Kim tra định dạng mật khẩu
23. $user->password = bcrypt($request->password);
24. if ($user->password == "") {
25. session()->ash('error', 'Mật khẩu không được để trống');
26. return redirect()->back(); }
27. $password = $request->password;
28. if (strlen($password) > 72 || preg_match('/\s/', $password)) {
29. session()->ash('error', 'Mật khẩu phải có độ dài tối đa 35 kí tự và không
được chứa khoảng trng.');
30. return redirect()->back(); }
31. $user = new User;
32. $user->username = $username;
33. $user->name = $name;
34. $user->email = $email;
35. $user->phone_number = $phoneNumber;
36. $user->password = bcrypt($request->password);
37. $user->save();
38. session()->ash('success', 'Thêm tài khoản thành công!');
39. return redirect('admin/user'); }
2.2.
- Xây dựng sơ đồ thị dòng điều khiển
lOMoARcPSD| 58702377
- Xác định ca kiểm kiểm thử đối với độ đo C1
TC
Đường đi
TC1
1,2,3,4
TC2
1,2,5,6,7
TC3
1,2,5,8,9,10
TC4
1,2,5,8,11,12,13,14
TC5
1,2,4,8,11,12,15,16,17,18
TC6
1,2,4,8,11,12,15,16,19,20,21,22
TC7
1,2,4,8,11,12,15,16,19,20,23,24,25,26
TC8
1,2,4,8,11,12,15,16,19,20,23,24,27,28,29,30
TC9
1,2,4,8,11,12,15,16,19,20,23,24,27,28,31,32…39
- Độ đo kiểm thử C1
TT
Đầu vào
Đầu ra mong đợi
Đầu ra thực tế
Ghi chú
TC1
Username=
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail=okeek@gmal.com
Hiển thị thông báo:
“Username không được
để trống.
Hiển thị thông báo:
“Username không được
để trống.
T
lOMoARcPSD| 58702377
TC2
Username=abc$$@
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail= okeze1@gmal.com
Hiển thị thông báo lỗi
“Username không đúng
định dạng.
Hiển thị thông báo lỗi
“Username không đúng
định dạng.
T
TC3
Username= a
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail= okeeke@gmal.com
Hiển thị thông báo lỗi
“Username phải có độ dài
tối thiểu 6 kí tự”.
Hiển thị thông báo lỗi
“Username phải có độ
dài từ 6 đến 30 kí tự”.
T
TC4
Username= abc123
Passworld = 123231
Name = Tien123
Phone = 0123456789
Mail= keeke@gmal.com
Hiển thị thông báo lỗi
“Định dạng tên không
hợp lệ”.
Hiển thị thông báo lỗi
“Định dạng tên không
hợp lệ”.
T
TC5
Username= abc123
Passworld = 123231
Name = Tien
Phone = 0123456789
Mail= okke@@gmal.com
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
T
TC6
Username= abc123
Passworld = 123231
Name = Tien
Phone = 012345678999
Mail= okeee@gmal.com
Hiển thị thông báo lỗi
“SĐT không hợp lệ”.
Hiển thị thông báo
lỗi:”Số điện thoại phải
gồm 10 chữ số và không
được chứa ký tự khác”
T
TC7
Username= abc123
Passworld =123..(35k.tu)
Name = Tien123
Phone = 0123456789
Mail= oeeke@gmal.com
Hiển thị thông báo:
“Mt khẩu không được
ợt quá 35 kí tự”.
Hiển thị thông báo:
“Mt khẩu không được
ợt quá 35 kí tự và
chứa khoảng trắng”.
T
TC8
Username= abc123
Passworld =
Name = Tien
Phone = 0123456789
Mail= okeke@gmal.com
Hiển thị thông báo:
“Mt khẩu không được
để trống.
Hiển thị thông báo:
“Mt khẩu không được
để trống.
T
TC9
Username= abc123
Passworld = 123456
Name = Tien
Phone = 0981234568
Mail= okeke@gmal.com
1,Hiển thị thông báo:
Thêm tài khoản thành
công.
2,Trở về màn hình form
admin/user
1,Hiển thị thông báo:
Thêm tài khoản thành
công.
2,Trở về màn hình
form:“admin/user
T
- Độ đo kiểm thử C2
TT
Đầu vào
Đẩu ra mong đợi
Đầu ra thực tế
Ghi chú
lOMoARcPSD| 58702377
TC1
Username=
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail=okeek@gmal.com
Hiển thị thông báo:
“Username không được
để trống.
Hiển thị thông báo:
“Username không được
để trống.
T
TC2
Username=abc$$@
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail= okeze1@gmal.com
Hiển thị thông báo lỗi
“Username không đúng
định dạng.
Hiển thị thông báo lỗi
“Username không đúng
định dạng.
T
TC3
Username= a
Passworld = 12323
Name = Tien
Phone = 0123456789
Mail= okeeke@gmal.com
Hiển thị thông báo lỗi
“Username phải có độ dài
tối thiểu 6 kí tự”.
Hiển thị thông báo lỗi
“Username phải có độ
dài từ 6 đến 30 kí tự”.
T
TC4
Username= abc123
Passworld = 123231
Name = Tien123
Phone = 0123456789
Mail= okeeke@gmal.com
Hiển thị thông báo lỗi
“Định dạng tên không
hợp lệ”.
Hiển thị thông báo lỗi
“Định dạng tên không
hợp lệ”.
T
TC5
Username= abc123
Passworld = 123231
Name = Tien
Phone = 0123456789
Mail= okke@@gmal.com
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
T
TC6
Username= abc123
Passworld = 123231
Name = Tien
Phone = 012345678999
Mail= okeeke@gmal.com
Hiển thị thông báo lỗi
“SĐT không hợp lệ”.
Hiển thị thông báo
lỗi:”Số điện thoại phải
gồm 10 chữ số và không
được chứa ký tự khác”
T
TC7
Username= abc123
Passworld = 123231
Name = Tien
Phone = 0123456789
Mail=
Hiển thị thông báo lỗi
“mail không được để
trống”.
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
F
TC8
Username= abc123
Passworld=123..(35k.tu)
Name = Tien123
Phone = 0123456789
Mail= oeeke@gmal.com
Hiển thị thông báo:
“Mt khẩu không được
ợt quá 35 kí tự”.
Hiển thị thông báo:
“Mt khẩu không được
ợt quá 35 kí tự và
chứa khoảng trắng”.
T
TC9
Username= abc123
Passworld = 123 23 1
Name = Tien
Phone = 0123456789
Mail= okeeke@gmal.com
Hiển thị thông báo:
“Mt khẩu không được
chứa khoảng trắng”.
Hiển thị thông báo:
“Mt khẩu không được
ợt quá 35 kí tự và
chứa khoảng trắng”.
T
lOMoARcPSD| 58702377
TC10
Username= abc123
Passworld =
Name = Tien
Phone = 012345678999
Mail= okeeke@gmal.com
Hiển thị thông báo:
“Mt khẩu không được
để trống.
Hiển thị thông báo:
“Mt khẩu không được
để trống.
T
TC11
Username= abc123
Hiển thị thông báo:
Hiển thị thông báo
T
Passworld = 123456
Name = Tien
Phone =
Mail= eeke@gmal.com
“Sđiện thoại không
được để trống”.
lỗi:”Số điện thoại phải
gồm 10 chữ số và không
được chứa ký tự khác
TC12
Username= abc123
Passworld = 123456
Name =
Phone = 0123456789
Mail= okeeke@gmal.com
Hiển thị thông báo: “Tên
hiển thị không được để
trống”.
Hiển thị thông báo lỗi
“Định dạng tên không
hợp lệ”.
F
TC13
Username= abc123
Passworld = 123456
Name =
Phone = 012345A89
Mail= okeeke@gmal.com
Hiển thị thông báo lỗi
“SĐT không hợp lệ”.
Hiển thị thông báo
lỗi:”Số điện thoại phải
gồm 10 chữ số và không
được chứa ký tự khác”
T
- Sinh đường đi
TT
Đường đi
Đầu vào
Đầu ra mong đợi
Đầu ra thực tế
1
1, 2 ,3
Username=ad
Hiển thị thông báo lỗi
“username phải có độ
dài tối thiểu 6 ký tự”.
Hiển thị thông báo lỗi
“username phải có độ
dài tối thiểu 6 ký tự”.
2
1,2,5,6
Name = T13n
Hiển thị thông báo:
“Name không được
chứa số”.
Hiển thị thông báo:
“Name không được
chứa số”.
3
1,2,5,6,9,10
Email=o!tr0j@gmai.com
Hiển thị thông báo lỗi
“Email không đúng
định dạng.
Hiển thị thông báo lỗi
“Email không đúng định
dạng.
4
1,2,5,6,9,10
13,14
Passworld = null
Hiển thị thông báo lỗi
“Mt khẩu không
được trng.
Hiển thị thông báo lỗi
“Mt khẩu không được
trống”.
5
1,2,5,6,9,10
13,14,16…23
Username=admin1
Passworld = 12323
Name = Tien1
Mail=
ok ok123@gmal.com
Hiển thị thông báo:
Thêm tài khoản
thành công.
Hiển thị thông báo:
Thêm tài khoản thành
công.
3. Thêm phim sắp
chiếu. - Mã nguồn chương
trình
lOMoARcPSD| 58702377
public funcon addUpcomingMovie(Request $request) {
1. $tenPhim = $request->input('ten_phim');
2. $theLoai = $request->input('the_loai');
3. $ngayRaMat = $request->input('ngay_ra_mat');
4. $poster = $request->input('poster');
5. if (empty($tenPhim) || strlen($tenPhim) > 255 ||
containsSpecialChars($tenPhim)) {
6. return redirect('/them-phim')->with('error', 'Tên phim không hợp lệ.');
}
7. if (empty($theLoai)) {
8. return redirect('/them-phim')->with('error', 'Vui lòng chọn thể loi.');
}
9. if (!isValidDate($ngayRaMat) || strtome($ngayRaMat) < strtome(now()-
>toDateString())) {
10. return redirect('/them-phim')->with('error', 'Ngày ra mắt không hợp lệ.');
}
11. if (empty($poster) || !isValidPosterURL($poster)) {
12. return redirect('/them-phim')->with('error', 'Liên kết poster không hợp lệ.');
}
13. $movie = new UpcomingMovie;
14. $movie->ten_phim = $tenPhim;
15. $movie->the_loai = $theLoai;
16. $movie->ngay_ra_mat = $ngayRaMat;
17. $movie->poster = $poster;
18. $movie->save();
19. return redirect('/danh-sach-phim')->with('success',
'Phim đã được thêm thành công!');
}
3.1
- Xây dựng sơ đồ thị dòng điều khiển
lOMoARcPSD| 58702377
TC
Đường đi
TC1
1,2,3,4,5,6
TC2
1,2,3,4,5,7,8
TC3
1,2,3,4,5,7,9,10
TC4
1,2,3,4,5,7,9,11,12
TC5
1,2,3,4,5,7,,9,11,13…19
- Các ca kiểm thử với độ đo C1
TC
Đầu vào
Đầu ra mong đợi
Đầu ra thực tế
TC1
ten_phim = “” the_loai = “Hành
động” ngay_ra_mat = 12/12/2023
poster =
/img/upcoming/hellof.jpg
Hiển thị thông báo:”Tên
phim không được để
trống”.
Hiển thị thông báo
:”Tên phim không
hợp lệ”.
TC2
ten_phim = “Hello oto ”
the_loai = “”
ngay_ra_mat = 12/12/2023 poster
= /img/upcoming/hellof.jpg
Hiển thị thông báo:”Vui
long chọn thể loại”.
Hiển thị thông báo
:”Vui long chọn thể
loại”.
TC3
ten_phim = “” the_loai = “Hành
động” ngay_ra_mat = 12/12/2023
poster =
/img/upcoming/hellof.jpg
Hiển thị thông báo:”Tên
phim không được để
trống”.
Hiển thị thông báo
:”Tên phim không
hợp lệ”.
lOMoARcPSD| 58702377
TC4
ten_phim = “Hello Friend”
the_loai = “Hành động”
ngay_ra_mat = 12/12/2023
poster = /png/upcoming/hello.txt
Hiển thị thông báo:”Liên
kết poster không hợp
lệ”.
Hiển thị thông báo
:”Liên kết poster
không hợp lệ”.
TC5
ten_phim = “Hello Friend”
the_loai = “Hành động”
ngay_ra_mat = 12/12/2023 poster
= /img/upcoming/hellof.jpg
Hiển thị thông báo
:”Phim đã được
thêm thành công”.
Hiển thị thông
báo:”Phim đã được
thêm thành công”.
- Xác đinh các ca kiểm thử ứng với đ đo C2
Điểm quyết đnh
Điều kiện
Đúng
Sai
5
empty($tenPhim) || strlen($tenPhim) > 255
TC1
TC2
7
empty($theLoai)
TC2
TC3
9
(!isValidDate($ngayRaMat) || strto 琀椀
me($ngayRaMat)
TC3
TC4
11
empty($poster) || !isValidPosterURL($poster))
TC4
TC5
1 public funcon postMovie(Request $request){
2 $requiredFields = ['tle', 'genre', 'year', 'decripon',
'rang', 'duraon', 'poster_image', 'director', 'country'];
3 foreach ($requiredFields as $eld) {
4 if (empty($request->$eld)) {
5 session()->ash('error', 'Vui lòng điền đầy đủ thông n.'); 6 return
redirect()->back();
}
}
7 $tle = $request->tle;
8 if (strlen($tle) > 255) {
9 session()->ash('error', 'Tiêu đề không được dài quá 255 kí tự'); 10 return redirect()-
>back();
}
11 $year = (int)$request->year;
lOMoARcPSD| 58702377
12 if ($year < 1900 || $year > 2023 || !is_numeric($request-
>year)) {
13 session()->ash('error', 'Năm phát hành không hợp lệ.'); 14 return redirect()->back();
}
15 $duraon = (int)$request->duraon;
16 if ($duraon <= 0 || !is_numeric($request->duraon)) { 17 session()->ash('error', 'Thời
ợng không hợp l.'); 18 return redirect()->back();
}
19 $director = $request->director;
20 if (preg_match('/[0-9!@#$%^&*(),.?":{}|<>]/', $director)) { 21 session()->ash('error', 'Tên
đạo diễn không hợp lệ.'); 22 return redirect()->back();
}
23 $country = $request->country;
24 if (preg_match('/[0-9!@#$%^&*(),.?":{}|<>]/', $country)) { 25 session()->ash('error',
'Quốc gia không hợp lệ.'); 26 return redirect()->back();
}
27 $rang = (oat)$request->rang;
28 if ($rang < 0 || $rang > 10 || !is_numeric($request-
>rang)) {
29 session()->ash('error', 'Điểm xếp hạng không hợp lệ.'); 30 return redirect()->back();
}
31 $movie = new Movie;
32 $movie->tle = $tle;
33 $movie->genre_id = $request->genre;
34 $movie->year = $year; 35 $movie->decripon = $$request->descripon;
36 $movie->rang = $rang;
lOMoARcPSD| 58702377
37 $movie->duraon = $duraon;
38 $movie->poster_image = $request->posterImage;
39 $movie->director = $director;
40 $movie->country = $country;
41 $movie->save(); 42 session()->ash('success', 'Thêm phim thành công!'); 43
return redirect('/admin/movie');
}
1. session()->ash('success', 'Thêm tài khoản thành công!');
2. return redirect('admin/user');
$user = new User;
$user->username = $username;
$user->name = $name; $user->email = $email;
$user = new User;
$user->username = $username;
$user->name = $name;
$user->email = $email;
$user->phone_number = $phoneNumber;
$user->password = bcrypt($request->password);
$user->save();

Preview text:

lOMoAR cPSD| 58702377 1. Thêm thể loại - Mã nguồn chương trình
public function postGenre(Request $request){ 1. $genre = new Genre; 2.
$genre->genre_name = $request->genre; 3.
if($genre->genre_name == " "){ 4.
session()->flash('error','Tên thể loại không được để trống') 5. return redirect()->back(); } 6. $genre->save(); 7.
session()->flash('success', 'Thêm thể loại thành công!'); 8.
return redirect()->back(); } 1.1.
Kiểm thử dòng điều khiển.
- Xây dựng sơ đồ thị dòng điều khiển
- Xác định ca kiểm kiểm thử đối với độ đo C1 TC Đường đi TC1 1,2,3,4,5 lOMoAR cPSD| 58702377 TC2 1,2,3,6,7,8
- Các ca kiểm thử v độ đo C1 TC Đầu vào Đầu ra mong đợi Đầu ra thực tế TC1 genre_name = “ ”
Hiển thị thông báo “Tên thể
Hiển thị thông báo “Tên thể loại
loại không được để trống”.
không được để trống”. TC2 genre_name = “Hài
Hiển thị thông báo “Thêm
Hiển thị thông báo “Thêm thể kịch” thể loại thành công”. loại thành công”.
- Xác định ca kiểm thử với độ đo C2 Điểm quyết định Điều kiện Đúng Sai 3
genre->$genre_name = “ ” TC1 TC2
- Các ca kiểm thử v độ đo C2 TC Đầu vào Đầu ra mong đợi Đầu ra thực tế TC1 genre_name = “ ”
Hiển thị thông báo “Tên thể
Hiển thị thông báo “Tên thể loại
loại không được để trống”.
không được để trống”. TC2 genre_name = “Hài
Hiển thị thông báo “Thêm
Hiển thị thông báo “Thêm thể kịch” thể loại thành công”. loại thành công”. 1.2.
Kiểm thử dòng dữ liệu 2. Thêm tài khoản.
- Mã nguồn chương trình: lOMoAR cPSD| 58702377
public function postAddUser(Request $request){
// Kiểm tra độ dài và định dạng username 1.
$username = $request->username; 2.
if ($user->username == "") { 3.
session()->flash('error', 'Username không được để trống'); 4. return redirect()->back(); } 5.
if (preg_match('/[\d\s\W]/', $username)) { 6.
session()->flash('error', 'Định dạng không hợp lệ.'); 7. return redirect()->back(); } 8.
if (strlen($username) < 6 || strlen($username) > 30) { 9.
session()->flash('error', 'Username phải chứa từ 6 đến 30 kí tự.'); 10. return redirect()->back(); }
// Kiểm tra name không chứa số 11. $name = $request->name; 12.
if (preg_match('/[0-9\W]/', $name)) { 13.
session()->flash('error', 'Định dạng không hợp lệ.'); 14.
return redirect()->back(); } lOMoAR cPSD| 58702377
// Kiểm tra định dạng email 15. $email = $request->email; 16.
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 17.
session()->flash('error', 'Email không đúng định dạng.'); 18. return redirect()->back(); }
// Kiểm tra định dạng phone 19.
$phoneNumber = $request->phone_number; 20.
if (!preg_match('/^[0-9]{10}$/', $phoneNumber)) { 21.
session()->flash('error', 'Số điện thoại phải gồm 10 chữ số và không được chứa ký tự khác.'); 22.
return redirect()->back(); }
// Kiểm tra định dạng mật khẩu 23.
$user->password = bcrypt($request->password); 24.
if ($user->password == "") { 25.
session()->flash('error', 'Mật khẩu không được để trống'); 26.
return redirect()->back(); } 27.
$password = $request->password; 28.
if (strlen($password) > 72 || preg_match('/\s/', $password)) { 29.
session()->flash('error', 'Mật khẩu phải có độ dài tối đa 35 kí tự và không
được chứa khoảng trắng.'); 30.
return redirect()->back(); } 31. $user = new User; 32.
$user->username = $username; 33. $user->name = $name; 34. $user->email = $email; 35.
$user->phone_number = $phoneNumber; 36.
$user->password = bcrypt($request->password); 37. $user->save(); 38.
session()->flash('success', 'Thêm tài khoản thành công!'); 39.
return redirect('admin/user'); } 2.2.
- Xây dựng sơ đồ thị dòng điều khiển lOMoAR cPSD| 58702377
- Xác định ca kiểm kiểm thử đối với độ đo C1 TC Đường đi TC1 1,2,3,4 TC2 1,2,5,6,7 TC3 1,2,5,8,9,10 TC4 1,2,5,8,11,12,13,14 TC5 1,2,4,8,11,12,15,16,17,18 TC6
1,2,4,8,11,12,15,16,19,20,21,22 TC7
1,2,4,8,11,12,15,16,19,20,23,24,25,26 TC8
1,2,4,8,11,12,15,16,19,20,23,24,27,28,29,30 TC9
1,2,4,8,11,12,15,16,19,20,23,24,27,28,31,32…39 - Độ đo kiểm thử C1 TT Đầu vào Đầu ra mong đợi Đầu ra thực tế Ghi chú TC1 Username= Hiển thị thông báo: Hiển thị thông báo: T Passworld = 12323 “Username không được “Username không được Name = Tien để trống”. để trống”. Phone = 0123456789 Mail=okeek@gmal.com lOMoAR cPSD| 58702377 TC2 Username=abc$$@
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 12323 “Username không đúng “Username không đúng Name = Tien định dạng”. định dạng”. Phone = 0123456789 Mail= okeze1@gmal.com TC3 Username= a
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 12323
“Username phải có độ dài “Username phải có độ Name = Tien tối thiểu 6 kí tự”.
dài từ 6 đến 30 kí tự”. Phone = 0123456789 Mail= okeeke@gmal.com TC4 Username= abc123
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 123231 “Định dạng tên không “Định dạng tên không Name = Tien123 hợp lệ”. hợp lệ”. Phone = 0123456789 Mail= keeke@gmal.com TC5 Username= abc123
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 123231
“Email không đúng định
“Email không đúng định Name = Tien dạng”. dạng”. Phone = 0123456789 Mail= okke@@gmal.com TC6 Username= abc123
Hiển thị thông báo lỗi Hiển thị thông báo T Passworld = 123231 “SĐT không hợp lệ”.
lỗi:”Số điện thoại phải Name = Tien
gồm 10 chữ số và không Phone = 012345678999
được chứa ký tự khác” Mail= okeee@gmal.com TC7 Username= abc123 Hiển thị thông báo: Hiển thị thông báo: T Passworld =123..(35k.tu)
“Mật khẩu không được
“Mật khẩu không được Name = Tien123 vượt quá 35 kí tự”. vượt quá 35 kí tự và Phone = 0123456789 chứa khoảng trắng”. Mail= oeeke@gmal.com TC8 Username= abc123 Hiển thị thông báo: Hiển thị thông báo: T Passworld =
“Mật khẩu không được
“Mật khẩu không được Name = Tien để trống”. để trống”. Phone = 0123456789 Mail= okeke@gmal.com TC9 Username= abc123 1,Hiển thị thông báo: 1,Hiển thị thông báo: T Passworld = 123456 “Thêm tài khoản thành “Thêm tài khoản thành Name = Tien công”. công”. Phone = 0981234568 2,Trở về màn hình form 2,Trở về màn hình Mail= okeke@gmal.com “admin/user” form:“admin/user” - Độ đo kiểm thử C2 TT Đầu vào Đẩu ra mong đợi Đầu ra thực tế Ghi chú lOMoAR cPSD| 58702377 TC1 Username= Hiển thị thông báo: Hiển thị thông báo: T Passworld = 12323 “Username không được “Username không được Name = Tien để trống”. để trống”. Phone = 0123456789 Mail=okeek@gmal.com TC2 Username=abc$$@
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 12323 “Username không đúng “Username không đúng Name = Tien định dạng”. định dạng”. Phone = 0123456789 Mail= okeze1@gmal.com TC3 Username= a
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 12323
“Username phải có độ dài “Username phải có độ Name = Tien tối thiểu 6 kí tự”.
dài từ 6 đến 30 kí tự”. Phone = 0123456789 Mail= okeeke@gmal.com TC4 Username= abc123
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 123231 “Định dạng tên không “Định dạng tên không Name = Tien123 hợp lệ”. hợp lệ”. Phone = 0123456789 Mail= okeeke@gmal.com TC5 Username= abc123
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi T Passworld = 123231
“Email không đúng định
“Email không đúng định Name = Tien dạng”. dạng”. Phone = 0123456789 Mail= okke@@gmal.com TC6 Username= abc123
Hiển thị thông báo lỗi Hiển thị thông báo T Passworld = 123231 “SĐT không hợp lệ”.
lỗi:”Số điện thoại phải Name = Tien
gồm 10 chữ số và không Phone = 012345678999
được chứa ký tự khác” Mail= okeeke@gmal.com TC7 Username= abc123
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi F Passworld = 123231 “mail không được để
“Email không đúng định Name = Tien trống”. dạng”. Phone = 0123456789 Mail= TC8 Username= abc123 Hiển thị thông báo: Hiển thị thông báo: T Passworld=123..(35k.tu)
“Mật khẩu không được
“Mật khẩu không được Name = Tien123 vượt quá 35 kí tự”. vượt quá 35 kí tự và Phone = 0123456789 chứa khoảng trắng”. Mail= oeeke@gmal.com TC9 Username= abc123 Hiển thị thông báo: Hiển thị thông báo: T Passworld = 123 23 1
“Mật khẩu không được
“Mật khẩu không được Name = Tien chứa khoảng trắng”. vượt quá 35 kí tự và Phone = 0123456789 chứa khoảng trắng”. Mail= okeeke@gmal.com lOMoAR cPSD| 58702377 TC10 Username= abc123 Hiển thị thông báo: Hiển thị thông báo: T Passworld =
“Mật khẩu không được
“Mật khẩu không được Name = Tien để trống”. để trống”. Phone = 012345678999 Mail= okeeke@gmal.com TC11 Username= abc123 Hiển thị thông báo: Hiển thị thông báo T Passworld = 123456
“Số điện thoại không
lỗi:”Số điện thoại phải Name = Tien được để trống”.
gồm 10 chữ số và không Phone =
được chứa ký tự khác Mail= eeke@gmal.com TC12 Username= abc123
Hiển thị thông báo: “Tên
Hiển thị thông báo lỗi F Passworld = 123456
hiển thị không được để “Định dạng tên không Name = trống”. hợp lệ”. Phone = 0123456789 Mail= okeeke@gmal.com TC13 Username= abc123
Hiển thị thông báo lỗi Hiển thị thông báo T Passworld = 123456 “SĐT không hợp lệ”.
lỗi:”Số điện thoại phải Name =
gồm 10 chữ số và không Phone = 012345A89
được chứa ký tự khác” Mail= okeeke@gmal.com - Sinh đường đi TT Đường đi Đầu vào Đầu ra mong đợi Đầu ra thực tế 1 1, 2 ,3 Username=ad
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi
“username phải có độ “username phải có độ
dài tối thiểu 6 ký tự”.
dài tối thiểu 6 ký tự”. 2 1,2,5,6 Name = T13n Hiển thị thông báo: Hiển thị thông báo: “Name không được “Name không được chứa số”. chứa số”. 3 1,2,5,6,9,10 Email=o!tr0j@gmai.com
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi “Email không đúng
“Email không đúng định định dạng”. dạng”. 4 1,2,5,6,9,10 Passworld = null
Hiển thị thông báo lỗi
Hiển thị thông báo lỗi 13,14 “Mật khẩu không
“Mật khẩu không được được trống”. trống”. 5 1,2,5,6,9,10 Username=admin1 Hiển thị thông báo: Hiển thị thông báo: 13,14,16…23 Passworld = 12323 “Thêm tài khoản “Thêm tài khoản thành Name = Tien1 thành công”. công”. Mail= ok ok123@gmal.com 3. Thêm phim sắp chiếu. - Mã nguồn chương trình lOMoAR cPSD| 58702377
public function addUpcomingMovie(Request $request) { 1.
$tenPhim = $request->input('ten_phim'); 2.
$theLoai = $request->input('the_loai'); 3.
$ngayRaMat = $request->input('ngay_ra_mat'); 4.
$poster = $request->input('poster'); 5.
if (empty($tenPhim) || strlen($tenPhim) > 255 ||
containsSpecialChars($tenPhim)) { 6.
return redirect('/them-phim')->with('error', 'Tên phim không hợp lệ.'); } 7. if (empty($theLoai)) { 8.
return redirect('/them-phim')->with('error', 'Vui lòng chọn thể loại.'); } 9.
if (!isValidDate($ngayRaMat) || strtotime($ngayRaMat) < strtotime(now()- >toDateString())) { 10.
return redirect('/them-phim')->with('error', 'Ngày ra mắt không hợp lệ.'); } 11.
if (empty($poster) || !isValidPosterURL($poster)) { 12.
return redirect('/them-phim')->with('error', 'Liên kết poster không hợp lệ.'); } 13. $movie = new UpcomingMovie; 14.
$movie->ten_phim = $tenPhim; 15.
$movie->the_loai = $theLoai; 16.
$movie->ngay_ra_mat = $ngayRaMat; 17. $movie->poster = $poster; 18. $movie->save(); 19.
return redirect('/danh-sach-phim')->with('success',
'Phim đã được thêm thành công!'); } 3.1
- Xây dựng sơ đồ thị dòng điều khiển lOMoAR cPSD| 58702377 TC Đường đi TC1 1,2,3,4,5,6 TC2 1,2,3,4,5,7,8 TC3 1,2,3,4,5,7,9,10 TC4 1,2,3,4,5,7,9,11,12 TC5 1,2,3,4,5,7,,9,11,13…19
- Các ca kiểm thử với độ đo C1 TC Đầu vào Đầu ra mong đợi Đầu ra thực tế TC1
ten_phim = “” the_loai = “Hành
Hiển thị thông báo:”Tên Hiển thị thông báo
động” ngay_ra_mat = 12/12/2023 phim không được để :”Tên phim không poster = trống”. hợp lệ”. /img/upcoming/hellof.jpg TC2 ten_phim = “Hello oto ”
Hiển thị thông báo:”Vui Hiển thị thông báo the_loai = “” long chọn thể loại”. :”Vui long chọn thể
ngay_ra_mat = 12/12/2023 poster loại”. = /img/upcoming/hellof.jpg TC3
ten_phim = “” the_loai = “Hành
Hiển thị thông báo:”Tên Hiển thị thông báo
động” ngay_ra_mat = 12/12/2023 phim không được để :”Tên phim không poster = trống”. hợp lệ”. /img/upcoming/hellof.jpg lOMoAR cPSD| 58702377 TC4 ten_phim = “Hello Friend”
Hiển thị thông báo:”Liên Hiển thị thông báo
the_loai = “Hành động” kết poster không hợp :”Liên kết poster ngay_ra_mat = 12/12/2023 lệ”. không hợp lệ”.
poster = /png/upcoming/hello.txt TC5 ten_phim = “Hello Friend” Hiển thị thông báo Hiển thị thông
the_loai = “Hành động” :”Phim đã được báo:”Phim đã được
ngay_ra_mat = 12/12/2023 poster thêm thành công”. thêm thành công”. = /img/upcoming/hellof.jpg
- Xác đinh các ca kiểm thử ứng với độ đo C2 Điểm quyết định Điều kiện Đúng Sai 5
empty($tenPhim) || strlen($tenPhim) > 255 TC1 TC2 7 empty($theLoai) TC2 TC3 9
(!isValidDate($ngayRaMat) || strto 琀椀 TC3 TC4 me($ngayRaMat) 11
empty($poster) || !isValidPosterURL($poster)) TC4 TC5 1
public function postMovie(Request $request){ 2
$requiredFields = ['title', 'genre', 'year', 'decription',
'rating', 'duration', 'poster_image', 'director', 'country']; 3
foreach ($requiredFields as $field) { 4
if (empty($request->$field)) { 5
session()->flash('error', 'Vui lòng điền đầy đủ thông tin.'); 6 return redirect()->back(); } } 7 $title = $request->title; 8
if (strlen($title) > 255) { 9
session()->flash('error', 'Tiêu đề không được dài quá 255 kí tự'); 10 return redirect()- >back(); }
11 $year = (int)$request->year; lOMoAR cPSD| 58702377 12
if ($year < 1900 || $year > 2023 || !is_numeric($request- >year)) { 13
session()->flash('error', 'Năm phát hành không hợp lệ.'); 14 return redirect()->back(); } 15
$duration = (int)$request->duration; 16
if ($duration <= 0 || !is_numeric($request->duration)) { 17 session()->flash('error', 'Thời
lượng không hợp lệ.'); 18 return redirect()->back(); } 19
$director = $request->director; 20
if (preg_match('/[0-9!@#$%^&*(),.?":{}|<>]/', $director)) { 21 session()->flash('error', 'Tên
đạo diễn không hợp lệ.'); 22 return redirect()->back(); } 23
$country = $request->country; 24
if (preg_match('/[0-9!@#$%^&*(),.?":{}|<>]/', $country)) { 25 session()->flash('error',
'Quốc gia không hợp lệ.'); 26 return redirect()->back(); } 27
$rating = (float)$request->rating; 28
if ($rating < 0 || $rating > 10 || !is_numeric($request- >rating)) { 29
session()->flash('error', 'Điểm xếp hạng không hợp lệ.'); 30 return redirect()->back(); } 31 $movie = new Movie; 32 $movie->title = $title; 33
$movie->genre_id = $request->genre; 34
$movie->year = $year; 35 $movie->decription = $$request->description;
36 $movie->rating = $rating; lOMoAR cPSD| 58702377 37
$movie->duration = $duration; 38
$movie->poster_image = $request->posterImage; 39
$movie->director = $director; 40
$movie->country = $country; 41
$movie->save(); 42 session()->flash('success', 'Thêm phim thành công!'); 43
return redirect('/admin/movie'); }
1. session()->flash('success', 'Thêm tài khoản thành công!');
2. return redirect('admin/user'); $user = new User;
$user->username = $username;
$user->name = $name; $user->email = $email; $user = new User;
$user->username = $username; $user->name = $name; $user->email = $email;
$user->phone_number = $phoneNumber;
$user->password = bcrypt($request->password); $user->save();