{"id":84569,"date":"2025-02-18T18:04:37","date_gmt":"2025-02-18T11:04:37","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=84569"},"modified":"2025-02-18T18:04:37","modified_gmt":"2025-02-18T11:04:37","slug":"test-automation-framework","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/test-automation-framework\/","title":{"rendered":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/test-automation-framework\/#Test_automation_framework_la_gi\" >Test automation framework l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/test-automation-framework\/#Phan_loai_test_automation_framework_pho_bien\" >Ph\u00e2n lo\u1ea1i test automation framework ph\u1ed5 bi\u1ebfn<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/test-automation-framework\/#Cac_cau_hoi_ve_test_automation_framework_thuong_gap\" >C\u00e1c c\u00e2u h\u1ecfi v\u1ec1 test automation framework th\u01b0\u1eddng g\u1eb7p<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/test-automation-framework\/#Tong_ket_test_automation_framework\" >T\u1ed5ng k\u1ebft test automation framework<\/a><\/li><\/ul><\/nav><\/div>\n<p><b><i>Test automation framework l\u00e0 m\u1ed9t b\u1ed9 quy t\u1eafc v\u00e0 c\u00f4ng c\u1ee5 quan tr\u1ecdng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c test case. C\u00e1c b\u1ed9 khung n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m gi\u00fap c\u00e1c ch\u1ee9c n\u0103ng k\u1ef9 thu\u1eadt ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 h\u01a1n. H\u00e3y c\u00f9ng \u0111i\u1ec3m danh c\u00e1c lo\u1ea1i test automation framework ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 v\u00e0 \u0111\u01b0\u1ee3c nhi\u1ec1u ng\u01b0\u1eddi s\u1eed d\u1ee5ng nh\u1ea5t hi\u1ec7n nay qua b\u00e0i vi\u1ebft sau c\u1ee7a <\/i><\/b><b><i>ITviec<\/i><\/b><b><i>.<\/i><\/b><\/p>\n<p><span style=\"font-weight: 400;\">\u0110\u1ecdc b\u00e0i vi\u1ebft n\u00e0y \u0111\u1ec3 t\u00ecm hi\u1ec3u ngay:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Test automation framework l\u00e0 g\u00ec<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ph\u00e2n lo\u1ea1i c\u00e1c test automation framework: \u0110\u1eb7c \u0111i\u1ec3m, C\u00e1ch \u00e1p d\u1ee5ng c\u1ee7a t\u1eebng lo\u1ea1i<\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Test_automation_framework_la_gi\"><\/span><b>Test automation framework l\u00e0 g\u00ec?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Test automation framework (Khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed) l\u00e0 m\u1ed9t b\u1ed9 quy t\u1eafc v\u00e0 c\u00e1c c\u00f4ng c\u1ee5 t\u01b0\u01a1ng \u1ee9ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed (test case). C\u00e1c khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed cung c\u1ea5p ki\u1ebfn tr\u00fac ri\u00eang cho t\u1eebng d\u1ef1 \u00e1n, kh\u1eafc ph\u1ee5c \u0111\u01b0\u1ee3c khuy\u1ebft \u0111i\u1ec3m th\u01b0\u1eddng g\u1eb7p tr\u00ean h\u1ea7u h\u1ebft c\u00e1c n\u1ec1n t\u1ea3ng c\u1ee7a c\u00f4ng c\u1ee5 ki\u1ec3m th\u1eed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">M\u1ed9t test automation framework bao g\u1ed3m c\u00e1c ti\u00eau chu\u1ea9n vi\u1ebft code, gi\u00fap gi\u1ea3m thi\u1ec3u vi\u1ec7c vi\u1ebft code th\u1ee7 c\u00f4ng. Ch\u00fang c\u0169ng bao g\u1ed3m c\u00e1c k\u1ef9 thu\u1eadt v\u00e0 l\u1ee3i th\u1ebf \u0111\u1ec3 x\u1eed l\u00fd d\u1eef li\u1ec7u ki\u1ec3m th\u1eed, b\u1ed9 l\u01b0u tr\u1eef c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c ch\u1ee9a k\u1ebft qu\u1ea3 d\u1eef li\u1ec7u ki\u1ec3m th\u1eed thu \u0111\u01b0\u1ee3c, kho l\u01b0u tr\u1eef \u0111\u1ed1i t\u01b0\u1ee3ng (object repository) v\u00e0 th\u00f4ng tin b\u1ed5 sung c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 th\u1ef1c thi test m\u1ed9t c\u00e1ch th\u00edch h\u1ee3p v\u00e0 hi\u1ec7u qu\u1ea3.<\/span><\/p>\n<blockquote><p><span style=\"font-weight: 400;\">Xem th\u00eam: <\/span><strong><a href=\"https:\/\/itviec.com\/blog\/automation-test\/\">Automation Test l\u00e0 g\u00ec? Khi n\u00e0o n\u00ean s\u1eed d\u1ee5ng Automation Test?<\/a><\/strong><\/p><\/blockquote>\n<h2><span class=\"ez-toc-section\" id=\"Phan_loai_test_automation_framework_pho_bien\"><\/span><b>Ph\u00e2n lo\u1ea1i test automation framework ph\u1ed5 bi\u1ebfn<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">C\u00f3 6 lo\u1ea1i test automation framework ph\u1ed5 bi\u1ebfn, m\u1ed7i lo\u1ea1i c\u00f3 ki\u1ebfn \u200b\u200btr\u00fac ri\u00eang v\u00e0 nh\u1eefng l\u1ee3i \u00edch c\u0169ng nh\u01b0 b\u1ea5t l\u1ee3i kh\u00e1c nhau. Khi x\u00e2y d\u1ef1ng k\u1ebf ho\u1ea1ch ki\u1ec3m th\u1eed, \u0111i\u1ec1u quan tr\u1ecdng l\u00e0 ch\u1ecdn framework ph\u00f9 h\u1ee3p v\u1edbi b\u1ea1n:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Linear Automation Framework<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Modular Based Testing Framework<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Library Architecture Testing Framework<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Data-Driven Framework<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Keyword-Driven Framework<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Hybrid Testing Framework<\/span><\/li>\n<\/ol>\n<h3><b> Linear Automation Framework<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84566\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro.jpg\" alt=\"test automation framework - Linear Automation Framework - itviec blog\" width=\"884\" height=\"462\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro.jpg 884w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-300x157.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-640x334.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-200x105.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-768x401.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-100x52.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/linear-automation-framework-vippro-700x366.jpg 700w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">V\u1edbi Linear Automation Framework, c\u00f2n \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 framework \u201cGhi v\u00e0 Ph\u00e1t l\u1ea1i\u201d, Tester kh\u00f4ng c\u1ea7n vi\u1ebft code \u0111\u1ec3 t\u1ea1o ch\u1ee9c n\u0103ng v\u00e0 t\u1ea5t c\u1ea3 c\u00e1c b\u01b0\u1edbc \u0111\u01b0\u1ee3c vi\u1ebft theo th\u1ee9 t\u1ef1 tu\u1ea7n t\u1ef1. Trong qu\u00e1 tr\u00ecnh n\u00e0y, Tester ghi l\u1ea1i t\u1eebng b\u01b0\u1edbc nh\u01b0 \u0111i\u1ec1u h\u01b0\u1edbng, th\u00f4ng tin \u0111\u1ea7u v\u00e0o c\u1ee7a ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c checkpoint, sau \u0111\u00f3 t\u1ef1 \u0111\u1ed9ng ph\u00e1t l\u1ea1i k\u1ecbch b\u1ea3n \u0111\u1ec3 ti\u1ebfn h\u00e0nh ki\u1ec3m th\u1eed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u01afu \u0111i\u1ec3m c\u1ee7a Linear Automation Framework:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kh\u00f4ng c\u1ea7n ph\u1ea3i vi\u1ebft code t\u00f9y ch\u1ec9nh n\u00ean kh\u00f4ng c\u1ea7n ph\u1ea3i c\u00f3 chuy\u00ean m\u00f4n v\u1ec1 t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u0110\u00e2y l\u00e0 m\u1ed9t trong nh\u1eefng c\u00e1ch nhanh nh\u1ea5t \u0111\u1ec3 t\u1ea1o k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed v\u00ec ch\u00fang c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ghi l\u1ea1i d\u1ec5 d\u00e0ng trong kho\u1ea3ng th\u1eddi gian t\u1ed1i thi\u1ec3u.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Quy tr\u00ecnh ki\u1ec3m th\u1eed d\u1ec5 hi\u1ec3u h\u01a1n \u0111\u1ed1i v\u1edbi b\u1ea5t k\u1ef3 b\u00ean n\u00e0o tham gia ki\u1ec3m th\u1eed v\u00ec c\u00e1c k\u1ecbch b\u1ea3n \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y theo c\u00e1ch tu\u1ea7n t\u1ef1.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u0110\u00e2y c\u0169ng l\u00e0 c\u00e1ch d\u1ec5 nh\u1ea5t \u0111\u1ec3 b\u1eaft \u0111\u1ea7u ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng, \u0111\u1eb7c bi\u1ec7t l\u00e0 v\u1edbi m\u1ed9t c\u00f4ng c\u1ee5 m\u1edbi. H\u1ea7u h\u1ebft c\u00e1c c\u00f4ng c\u1ee5 ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng ng\u00e0y nay s\u1ebd cung c\u1ea5p t\u00ednh n\u0103ng ghi v\u00e0 ph\u00e1t l\u1ea1i, v\u00ec v\u1eady b\u1ea1n c\u0169ng kh\u00f4ng c\u1ea7n ph\u1ea3i qu\u00e1 l\u00fang t\u00fang khi s\u1eed d\u1ee5ng framework n\u00e0y.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u00e1c k\u1ecbch b\u1ea3n \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n b\u1eb1ng framework n\u00e0y kh\u00f4ng th\u1ec3 s\u1eed d\u1ee5ng l\u1ea1i \u0111\u01b0\u1ee3c. D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c hard code (c\u1ed1 \u0111\u1ecbnh) v\u00e0o k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed, ngh\u0129a l\u00e0 c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed kh\u00f4ng th\u1ec3 ch\u1ea1y l\u1ea1i v\u1edbi nhi\u1ec1u b\u1ed9 d\u1eef li\u1ec7u v\u00e0 thi\u1ebfu kh\u1ea3 n\u0103ng t\u00e1i s\u1eed d\u1ee5ng do c\u00e1c t\u1eadp l\u1ec7nh \u0111\u01b0\u1ee3c t\u1ea1o t\u1ef1 \u0111\u1ed9ng n\u00ean s\u1ebd c\u1ea7n ph\u1ea3i s\u1eeda \u0111\u1ed5i n\u1ebfu d\u1eef li\u1ec7u b\u1ecb thay \u0111\u1ed5i.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">M\u00e3 h\u00f3a kh\u00f3 d\u1eef li\u1ec7u kh\u00f4ng cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng ch\u1ea1y v\u1edbi nhi\u1ec1u t\u1eadp d\u1eef li\u1ec7u.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Vi\u1ec7c b\u1ea3o tr\u00ec kh\u00e1 r\u1eafc r\u1ed1i v\u00ec m\u1ecdi thay \u0111\u1ed5i \u0111\u1ed1i v\u1edbi \u1ee9ng d\u1ee5ng s\u1ebd y\u00eau c\u1ea7u ph\u1ea3i l\u00e0m l\u1ea1i r\u1ea5t nhi\u1ec1u. Framework n\u00e0y kh\u00f4ng c\u00f3 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng khi ph\u1ea1m vi ki\u1ec3m th\u1eed m\u1edf r\u1ed9ng.<\/span><\/li>\n<\/ul>\n<h3><b>Modular Based Testing Framework<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Vi\u1ec7c tri\u1ec3n khai framework n\u00e0y s\u1ebd y\u00eau c\u1ea7u Tester chia \u1ee9ng d\u1ee5ng \u0111ang \u0111\u01b0\u1ee3c ki\u1ec3m th\u1eed th\u00e0nh c\u00e1c \u0111\u01a1n v\u1ecb, ch\u1ee9c n\u0103ng ho\u1eb7c ph\u1ea7n ri\u00eang bi\u1ec7t, m\u1ed7i ph\u1ea7n s\u1ebd \u0111\u01b0\u1ee3c ki\u1ec3m th\u1eed ri\u00eang bi\u1ec7t. Sau khi chia \u1ee9ng d\u1ee5ng th\u00e0nh c\u00e1c m\u00f4-\u0111un ri\u00eang l\u1ebb, k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed s\u1ebd \u0111\u01b0\u1ee3c t\u1ea1o cho t\u1eebng ph\u1ea7n v\u00e0 sau \u0111\u00f3 \u0111\u01b0\u1ee3c k\u1ebft h\u1ee3p \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c b\u00e0i ki\u1ec3m th\u1eed l\u1edbn h\u01a1n theo ki\u1ec3u ph\u00e2n c\u1ea5p. Vi\u1ec7c tr\u00e1nh s\u1eed d\u1ee5ng c\u00e1c script ph\u1ee5 thu\u1ed9c nhau l\u00e0 m\u1ed9t y\u1ebfu t\u1ed1 quan tr\u1ecdng \u0111\u1ed1i v\u1edbi s\u1ef1 \u1ed5n \u0111\u1ecbnh v\u00e0 kh\u1ea3 n\u0103ng b\u1ea3o tr\u00ec c\u1ee7a framework n\u00e0y. Nh\u1eefng b\u1ed9 ki\u1ec3m th\u1eed nghi\u1ec7m l\u1edbn h\u01a1n s\u1ebd \u0111\u1ea1i di\u1ec7n cho nhi\u1ec1u tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed kh\u00e1c nhau.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Chi\u1ebfn l\u01b0\u1ee3c quan tr\u1ecdng trong vi\u1ec7c s\u1eed d\u1ee5ng Modular Based Testing Framework l\u00e0 x\u00e2y d\u1ef1ng m\u1ed9t layer tr\u1eebu t\u01b0\u1ee3ng \u0111\u1ec3 m\u1ecdi thay \u0111\u1ed5i \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n trong c\u00e1c ph\u1ea7n ri\u00eang l\u1ebb s\u1ebd kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn m\u00f4-\u0111un t\u1ed5ng th\u1ec3.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84565\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro.jpg\" alt=\"test automation framework - Modular Based Testing Framework - itviec blog\" width=\"1216\" height=\"882\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro.jpg 1216w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-300x218.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-640x464.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-200x145.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-768x557.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-100x73.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/modular-based-testing-framework-vippro-620x450.jpg 620w\" sizes=\"auto, (max-width: 1216px) 100vw, 1216px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\u01afu \u0111i\u1ec3m c\u1ee7a Modular Based Testing Framework:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">N\u1ebfu c\u00f3 b\u1ea5t k\u1ef3 thay \u0111\u1ed5i n\u00e0o \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n \u0111\u1ed1i v\u1edbi \u1ee9ng d\u1ee5ng, th\u00ec ch\u1ec9 c\u1ea7n s\u1eeda m\u00f4-\u0111un v\u00e0 k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed ri\u00eang l\u1ebb \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi n\u00f3, ngh\u0129a l\u00e0 b\u1ea1n s\u1ebd kh\u00f4ng ph\u1ea3i s\u1eeda \u0111\u1ed5i ph\u1ea7n c\u00f2n l\u1ea1i c\u1ee7a \u1ee9ng d\u1ee5ng v\u00e0 c\u00f3 th\u1ec3 gi\u1eef nguy\u00ean n\u00f3. V\u00ec v\u1eady, c\u00f3 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng t\u1ed1t h\u01a1n v\u00e0 d\u1ec5 b\u1ea3o tr\u00ec h\u01a1n,<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u00f3 th\u1ec3 vi\u1ebft k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed m\u1ed9t c\u00e1ch \u0111\u1ed9c l\u1eadp.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Nh\u1eefng thay \u0111\u1ed5i trong m\u1ed9t m\u00f4-\u0111un kh\u00f4ng c\u00f3 ho\u1eb7c \u00edt t\u00e1c \u0111\u1ed9ng \u0111\u1ebfn c\u00e1c m\u00f4-\u0111un kh\u00e1c.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Vi\u1ec7c t\u1ea1o c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed t\u1ed1n \u00edt c\u00f4ng s\u1ee9c h\u01a1n v\u00ec c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed cho c\u00e1c m\u00f4-\u0111un kh\u00e1c nhau c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u1ea1i.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">D\u1eef li\u1ec7u v\u1eabn \u0111\u01b0\u1ee3c hard code v\u00e0o k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed v\u00ec c\u00e1c ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n ri\u00eang bi\u1ec7t, do \u0111\u00f3 b\u1ea1n kh\u00f4ng th\u1ec3 s\u1eed d\u1ee5ng nhi\u1ec1u b\u1ed9 d\u1eef li\u1ec7u.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">M\u1ea5t nhi\u1ec1u th\u1eddi gian h\u01a1n \u0111\u1ec3 ph\u00e2n t\u00edch c\u00e1c tr\u01b0\u1eddng h\u1ee3p th\u1eed nghi\u1ec7m v\u00e0 x\u00e1c \u0111\u1ecbnh c\u00e1c lu\u1ed3ng c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Khi c\u00f3 s\u1ef1 thay \u0111\u1ed5i v\u1ec1 test data th\u00ec c\u00e1c script c\u0169ng ph\u1ea3i thay \u0111\u1ed5i t\u01b0\u01a1ng \u1ee9ng, ho\u1eb7c l\u00e0 b\u1ea1n ph\u1ea3i t\u1ea1o m\u1edbi m\u1ed9t test script ri\u00eang bi\u1ec7t kh\u00e1c \u0111\u1ec3 \u0111\u00e1p \u1ee9ng s\u1ef1 thay \u0111\u1ed5i \u0111\u00f3.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ki\u1ebfn th\u1ee9c l\u1eadp tr\u00ecnh l\u00e0 c\u1ea7n thi\u1ebft \u0111\u1ec3 thi\u1ebft l\u1eadp framework.<\/span><\/li>\n<\/ul>\n<h3><b>Library Architecture Testing Framework<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84564\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro.jpg\" alt=\"test automation framework - Library Architecture Testing Framework - itviec blog\" width=\"1360\" height=\"336\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro.jpg 1360w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-300x74.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-640x158.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-200x49.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-768x190.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-100x25.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/library-architecture-testing-framework-vippro-700x173.jpg 700w\" sizes=\"auto, (max-width: 1360px) 100vw, 1360px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Library Architecture Testing Framework l\u00e0 framework d\u1ef1a tr\u00ean framework m\u00f4-\u0111un nh\u01b0ng c\u00f3 m\u1ed9t s\u1ed1 l\u1ee3i \u00edch b\u1ed5 sung. Thay v\u00ec chia \u1ee9ng d\u1ee5ng th\u00e0nh c\u00e1c k\u1ecbch b\u1ea3n kh\u00e1c nhau c\u1ea7n ch\u1ea1y, c\u00e1c t\u00e1c v\u1ee5 t\u01b0\u01a1ng t\u1ef1 trong k\u1ecbch b\u1ea3n s\u1ebd \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 sau \u0111\u00f3 \u0111\u01b0\u1ee3c nh\u00f3m theo ch\u1ee9c n\u0103ng, do \u0111\u00f3 \u1ee9ng d\u1ee5ng cu\u1ed1i c\u00f9ng \u0111\u01b0\u1ee3c chia nh\u1ecf theo c\u00e1c m\u1ee5c ti\u00eau chung.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">C\u00e1c ch\u1ee9c n\u0103ng n\u00e0y \u0111\u01b0\u1ee3c l\u01b0u gi\u1eef trong th\u01b0 vi\u1ec7n, c\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed s\u1eed d\u1ee5ng l\u1ea1i c\u00e1c th\u01b0 vi\u1ec7n n\u00e0y \u0111\u1ec3 t\u1ea1o c\u00e1c tr\u01b0\u1eddng h\u1ee3p ki\u1ec3m th\u1eed m\u1edbi.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u01afu \u0111i\u1ec3m c\u1ee7a Library Architecture Testing Framework:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u01b0\u01a1ng t\u1ef1 nh\u01b0 framework m\u00f4-\u0111un, vi\u1ec7c s\u1eed d\u1ee5ng ki\u1ebfn \u200b\u200btr\u00fac n\u00e0y s\u1ebd d\u1eabn \u0111\u1ebfn m\u1ee9c \u0111\u1ed9 m\u00f4-\u0111un h\u00f3a cao, gi\u00fap vi\u1ec7c b\u1ea3o tr\u00ec c\u00e1c b\u00e0i ki\u1ec3m th\u1eed v\u00e0 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng d\u1ec5 d\u00e0ng h\u01a1n v\u00e0 ti\u1ebft ki\u1ec7m chi ph\u00ed h\u01a1n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Framework n\u00e0y c\u00f3 m\u1ee9c \u0111\u1ed9 t\u00e1i s\u1eed d\u1ee5ng cao h\u01a1n v\u00ec c\u00f3 m\u1ed9t th\u01b0 vi\u1ec7n v\u1edbi c\u00e1c h\u00e0m ph\u1ed5 bi\u1ebfn c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng b\u1edfi nhi\u1ec1u k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed. Thay v\u00ec chia \u1ee9ng d\u1ee5ng v\u1edbi c\u00e1c module v\u00e0 c\u00e1c test script t\u01b0\u01a1ng \u1ee9ng, th\u00ec \u1edf \u0111\u00e2y ta s\u1ebd th\u1ef1c hi\u1ec7n t\u00e1ch c\u00e1c test script c\u1ee7a c\u00e1c ch\u1ee9c n\u0103ng d\u00f9ng chung v\u00e0o trong m\u1ed9t th\u01b0 vi\u1ec7n chung, v\u00e0 c\u00f3 th\u1ec3 g\u1ecdi \u0111\u1ebfn b\u1ea5t c\u1ee9 khi n\u00e0o c\u1ea7n d\u00f9ng, m\u00e0 kh\u00f4ng ph\u1ea3i l\u00e0m \u0111i l\u00e0m l\u1ea1i c\u00f9ng m\u1ed9t script gi\u1ed1ng h\u1ec7t nhau. Vi\u1ec7c n\u00e0y gi\u00fap cho code kh\u00f4ng b\u1ecb d\u00e0i v\u00e0 d\u01b0 th\u1eeba, v\u00e0 gi\u1ea3m n\u1ed7 l\u1ef1c th\u1ef1c hi\u1ec7n x\u00e2y d\u1ef1ng script.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">D\u1eef li\u1ec7u ki\u1ec3m th\u1eed v\u1eabn \u0111\u01b0\u1ee3c hard code v\u00e0o k\u1ecbch b\u1ea3n. Do \u0111\u00f3, b\u1ea5t k\u1ef3 thay \u0111\u1ed5i n\u00e0o \u0111\u1ed1i v\u1edbi d\u1eef li\u1ec7u s\u1ebd y\u00eau c\u1ea7u thay \u0111\u1ed5i c\u00e1c k\u1ecbch b\u1ea3n. C\u1ee5 th\u1ec3 khi c\u00f3 s\u1ef1 thay \u0111\u1ed5i v\u1ec1 test data th\u00ec c\u00e1c script c\u0169ng ph\u1ea3i thay \u0111\u1ed5i t\u01b0\u01a1ng \u1ee9ng, ho\u1eb7c l\u00e0 b\u1ea1n ph\u1ea3i t\u1ea1o m\u1edbi m\u1ed9t test script ri\u00eang bi\u1ec7t kh\u00e1c \u0111\u1ec3 \u0111\u00e1p \u1ee9ng s\u1ef1 thay \u0111\u1ed5i \u0111\u00f3.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u1ea7n c\u00f3 chuy\u00ean m\u00f4n k\u1ef9 thu\u1eadt \u0111\u1ec3 vi\u1ebft v\u00e0 ph\u00e2n t\u00edch c\u00e1c ch\u1ee9c n\u0103ng chung trong k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u1ed1n nhi\u1ec1u th\u1eddi gian h\u01a1n \u0111\u1ec3 ph\u00e1t tri\u1ec3n k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed.<\/span><\/li>\n<\/ul>\n<h3><b>Data-Driven Framework<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84563\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro.jpg\" alt=\"test automation framework - Data-Driven Framework - itviec blog\" width=\"1404\" height=\"556\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro.jpg 1404w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-300x119.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-640x253.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-200x79.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-768x304.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-100x40.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/data-driven-automation-framework-vippro-700x277.jpg 700w\" sizes=\"auto, (max-width: 1404px) 100vw, 1404px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Vi\u1ec7c s\u1eed d\u1ee5ng Data-Driven Framework s\u1ebd t\u00e1ch d\u1eef li\u1ec7u ki\u1ec3m th\u1eed kh\u1ecfi k\u1ecbch b\u1ea3n logic, ngh\u0129a l\u00e0 Tester c\u00f3 th\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u b\u00ean ngo\u00e0i. N\u1ebfu Tester c\u1ea7n ki\u1ec3m th\u1eed c\u00f9ng m\u1ed9t t\u00ednh n\u0103ng ho\u1eb7c ch\u1ee9c n\u0103ng c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng nhi\u1ec1u l\u1ea7n v\u1edbi c\u00e1c b\u1ed9 d\u1eef li\u1ec7u kh\u00e1c nhau, \u0111i\u1ec1u quan tr\u1ecdng l\u00e0 d\u1eef li\u1ec7u ki\u1ec3m th\u1eed kh\u00f4ng \u0111\u01b0\u1ee3c hard code trong ch\u00ednh k\u1ecbch b\u1ea3n, \u0111i\u1ec1u n\u00e0y x\u1ea3y ra v\u1edbi khung th\u1eed nghi\u1ec7m d\u1ef1a tr\u00ean Linear ho\u1eb7c Module.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Vi\u1ec7c thi\u1ebft l\u1eadp Data-Driven Framework s\u1ebd cho ph\u00e9p Tester l\u01b0u tr\u1eef v\u00e0 chuy\u1ec3n c\u00e1c tham s\u1ed1 \u0111\u1ea7u v\u00e0o\/\u0111\u1ea7u ra \u0111\u1ebfn k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed t\u1eeb ngu\u1ed3n d\u1eef li\u1ec7u b\u00ean ngo\u00e0i, ch\u1eb3ng h\u1ea1n nh\u01b0 B\u1ea3ng t\u00ednh Excel, T\u1ec7p v\u0103n b\u1ea3n, t\u1ec7p CSV, B\u1ea3ng SQL ho\u1eb7c kho l\u01b0u tr\u1eef ODBC.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">C\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i v\u1edbi ngu\u1ed3n d\u1eef li\u1ec7u b\u00ean ngo\u00e0i v\u00e0 \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u \u0111\u1ecdc v\u00e0 \u0111i\u1ec1n d\u1eef li\u1ec7u khi c\u1ea7n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u01afu \u0111i\u1ec3m c\u1ee7a Data-Driven Framework:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u00e1c th\u1eed nghi\u1ec7m c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n v\u1edbi nhi\u1ec1u b\u1ed9 d\u1eef li\u1ec7u.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Nhi\u1ec1u k\u1ecbch b\u1ea3n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ki\u1ec3m tra nhanh ch\u00f3ng b\u1eb1ng c\u00e1ch thay \u0111\u1ed5i d\u1eef li\u1ec7u, t\u1eeb \u0111\u00f3 gi\u1ea3m s\u1ed1 l\u01b0\u1ee3ng k\u1ecbch b\u1ea3n c\u1ea7n thi\u1ebft.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u00f3 th\u1ec3 tr\u00e1nh \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u m\u00e3 h\u00f3a c\u1ee9ng n\u00ean m\u1ecdi thay \u0111\u1ed5i \u0111\u1ed1i v\u1edbi k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed \u0111\u1ec1u kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn d\u1eef li\u1ec7u \u0111ang \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng v\u00e0 ng\u01b0\u1ee3c l\u1ea1i.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">B\u1ea1n s\u1ebd ti\u1ebft ki\u1ec7m th\u1eddi gian b\u1eb1ng c\u00e1ch th\u1ef1c hi\u1ec7n nhi\u1ec1u b\u00e0i ki\u1ec3m tra nhanh h\u01a1n.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Y\u00eau c\u1ea7u Tester c\u00f3 kinh nghi\u1ec7m cao, th\u00e0nh th\u1ea1o nhi\u1ec1u ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh kh\u00e1c nhau \u0111\u1ec3 s\u1eed d\u1ee5ng \u0111\u00fang thi\u1ebft k\u1ebf framework n\u00e0y. H\u1ecd s\u1ebd c\u1ea7n x\u00e1c \u0111\u1ecbnh v\u00e0 \u0111\u1ecbnh d\u1ea1ng c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u b\u00ean ngo\u00e0i c\u0169ng nh\u01b0 vi\u1ebft code (t\u1ea1o h\u00e0m) \u0111\u1ec3 k\u1ebft n\u1ed1i c\u00e1c test v\u1edbi c\u00e1c ngu\u1ed3n d\u1eef li\u1ec7u b\u00ean ngo\u00e0i m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">M\u1ea5t nhi\u1ec1u th\u1eddi gian \u0111\u1ec3 thi\u1ebft l\u1eadp Data-Driven Framework.<\/span><\/li>\n<\/ul>\n<h3><b>Keyword-Driven Framework<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84562\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro.jpg\" alt=\"test automation framework - Keyword-Driven Framework - itviec blog\" width=\"1462\" height=\"402\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro.jpg 1462w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-300x82.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-640x176.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-200x55.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-768x211.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-100x27.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/keyword-driven-automation-framework-vippro-700x192.jpg 700w\" sizes=\"auto, (max-width: 1462px) 100vw, 1462px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Trong Keyword-Driven Framework, m\u1ed7i ch\u1ee9c n\u0103ng c\u1ee7a \u1ee9ng d\u1ee5ng ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y trong m\u1ed9t b\u1ea3ng v\u1edbi m\u1ed9t lo\u1ea1t h\u01b0\u1edbng d\u1eabn theo th\u1ee9 t\u1ef1 li\u00ean ti\u1ebfp cho m\u1ed7i test c\u1ea7n ch\u1ea1y. Ho\u1ea1t \u0111\u1ed9ng t\u01b0\u01a1ng t\u1ef1 nh\u01b0 Data-Driven Framework, d\u1eef li\u1ec7u ki\u1ec3m th\u1eed v\u00e0 logic t\u1eadp l\u1ec7nh \u0111\u01b0\u1ee3c t\u00e1ch ri\u00eang trong Keyword-Driven Framework, nh\u01b0ng c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y ti\u1ebfn th\u00eam m\u1ed9t b\u01b0\u1edbc.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">V\u1edbi ph\u01b0\u01a1ng ph\u00e1p n\u00e0y, t\u1eeb kh\u00f3a c\u0169ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong b\u1ea3ng d\u1eef li\u1ec7u b\u00ean ngo\u00e0i, khi\u1ebfn ch\u00fang \u0111\u1ed9c l\u1eadp v\u1edbi c\u00f4ng c\u1ee5 ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng \u0111ang \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 th\u1ef1c hi\u1ec7n ki\u1ec3m th\u1eed. T\u1eeb kh\u00f3a l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a k\u1ecbch b\u1ea3n th\u1ec3 hi\u1ec7n c\u00e1c h\u00e0nh \u0111\u1ed9ng kh\u00e1c nhau \u0111ang \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n \u0111\u1ec3 ki\u1ec3m th\u1eed GUI c\u1ee7a \u1ee9ng d\u1ee5ng. Ch\u00fang c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c g\u1eafn nh\u00e3n \u0111\u01a1n gi\u1ea3n l\u00e0 &#8216;click&#8217; ho\u1eb7c \u2018login&#8217; ho\u1eb7c v\u1edbi c\u00e1c nh\u00e3n ph\u1ee9c t\u1ea1p nh\u01b0 &#8216;clicklink&#8217; ho\u1eb7c &#8216;verifylink&#8217;.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Trong b\u1ea3ng, c\u00e1c t\u1eeb kh\u00f3a \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef theo ki\u1ec3u t\u1eebng b\u01b0\u1edbc v\u1edbi m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u01b0\u1ee3c li\u00ean k\u1ebft ho\u1eb7c m\u1ed9t ph\u1ea7n c\u1ee7a giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng m\u00e0 h\u00e0nh \u0111\u1ed9ng \u0111ang \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n tr\u00ean \u0111\u00f3. Quan tr\u1ecdng l\u00e0 c\u1ea7n c\u00f3 m\u1ed9t kho l\u01b0u tr\u1eef \u0111\u1ed1i t\u01b0\u1ee3ng d\u00f9ng chung \u0111\u1ec3 \u00e1nh x\u1ea1 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng t\u1edbi c\u00e1c h\u00e0nh \u0111\u1ed9ng li\u00ean quan c\u1ee7a ch\u00fang.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">V\u00ed d\u1ee5 m\u1ed9t b\u1ea3ng T\u1eeb kh\u00f3a:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>S\u1ed1 th\u1ee9 t\u1ef1 b\u01b0\u1edbc<\/strong><\/td>\n<td><strong>M\u00f4 t\u1ea3<\/strong><\/td>\n<td><strong>T\u1eeb kh\u00f3a<\/strong><\/td>\n<td><strong>\u0110\u1ed1i t\u01b0\u1ee3ng<\/strong><\/td>\n<td><strong>H\u00e0nh \u0111\u1ed9ng<\/strong><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">B\u01b0\u1edbc 1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Nh\u1ea5p chu\u1ed9t v\u00e0o \u0111\u01b0\u1eddng d\u1eabn ng\u01b0\u1eddi d\u00f9ng \u1edf trang ch\u1ee7<\/span><\/td>\n<td><span style=\"font-weight: 400;\">clicklink<\/span><\/td>\n<td><span style=\"font-weight: 400;\">N\u00fat \u0110\u0103ng nh\u1eadp<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">B\u01b0\u1edbc 2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Nh\u1eadp t\u00ean ng\u01b0\u1eddi d\u00f9ng<\/span><\/td>\n<td><span style=\"font-weight: 400;\">inputdata<\/span><\/td>\n<td><span style=\"font-weight: 400;\">T\u00ean \u0110\u0103ng nh\u1eadp<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">B\u01b0\u1edbc 3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Nh\u1eadp m\u1eadt kh\u1ea9u<\/span><\/td>\n<td><span style=\"font-weight: 400;\">inputdata<\/span><\/td>\n<td><span style=\"font-weight: 400;\">M\u1eadt kh\u1ea9u \u0110\u0103ng nh\u1eadp<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">B\u01b0\u1edbc 4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">X\u00e1c minh th\u00f4ng tin \u0111\u0103ng nh\u1eadp c\u1ee7a ng\u01b0\u1eddi d\u00f9ng<\/span><\/td>\n<td><span style=\"font-weight: 400;\">verifylogin<\/span><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">B\u01b0\u1edbc 5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">\u0110\u0103ng nh\u1eadp v\u00e0o \u1ee9ng d\u1ee5ng<\/span><\/td>\n<td><span style=\"font-weight: 400;\">login<\/span><\/td>\n<td><span style=\"font-weight: 400;\">N\u00fat Nh\u1eadp<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">Khi b\u1ea3ng \u0111\u00e3 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp, t\u1ea5t c\u1ea3 nh\u1eefng g\u00ec Tester ph\u1ea3i l\u00e0m l\u00e0 vi\u1ebft code \u0111\u1ec3 \u201ck\u00edch th\u00edch\u201d h\u00e0nh \u0111\u1ed9ng c\u1ea7n thi\u1ebft d\u1ef1a tr\u00ean c\u00e1c t\u1eeb kh\u00f3a. Khi ch\u1ea1y ki\u1ec3m th\u1eed, d\u1eef li\u1ec7u ki\u1ec3m th\u1eed s\u1ebd \u0111\u01b0\u1ee3c \u0111\u1ecdc v\u00e0 tr\u1ecf t\u1edbi t\u1eeb kh\u00f3a t\u01b0\u01a1ng \u1ee9ng, sau \u0111\u00f3 th\u1ef1c thi k\u1ecbch b\u1ea3n li\u00ean quan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u01afu \u0111i\u1ec3m c\u1ee7a Keyword-Driven Framework:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ch\u1ec9 c\u1ea7n ki\u1ebfn th\u1ee9c scripting c\u01a1 b\u1ea3n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">M\u1ed9t t\u1eeb kh\u00f3a c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng tr\u00ean nhi\u1ec1u k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed, do \u0111\u00f3 code c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng l\u1ea1i.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">M\u1eb7c d\u00f9 \u1ee9ng d\u1ee5ng thay \u0111\u1ed5i, c\u00e1c t\u1eadp l\u1ec7nh ki\u1ec3m tra kh\u00f4ng thay \u0111\u1ed5i.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u1eadp l\u1ec7nh th\u1eed nghi\u1ec7m ho\u1ea1t \u0111\u1ed9ng \u0111\u1ed9c l\u1eadp v\u1edbi \u1ee9ng d\u1ee5ng \u0111ang th\u1eed nghi\u1ec7m v\u1edbi c\u00e1c s\u1eeda \u0111\u1ed5i c\u01a1 b\u1ea3n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kh\u00f4ng ph\u1ee5 thu\u1ed9c v\u00e0o c\u00e1c c\u00f4ng c\u1ee5 ki\u1ec3m tra.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">C\u00e1c k\u1ecbch b\u1ea3n ki\u1ec3m th\u1eed c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng \u0111\u1ed9c l\u1eadp v\u1edbi \u1ee9ng d\u1ee5ng \u0111ang \u0111\u01b0\u1ee3c ki\u1ec3m th\u1eed.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Chi ph\u00ed ban \u0111\u1ea7u \u0111\u1ec3 thi\u1ebft l\u1eadp framework n\u00e0y cao do n\u00f3 t\u1ed1n th\u1eddi gian v\u00e0 ph\u1ee9c t\u1ea1p. C\u00e1c t\u1eeb kh\u00f3a c\u1ea7n \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh v\u00e0 c\u00e1c kho\/th\u01b0 vi\u1ec7n \u0111\u1ed1i t\u01b0\u1ee3ng c\u1ea7n \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Tester c\u1ea7n c\u00f3 k\u1ef9 n\u0103ng ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng h\u00f3a t\u1ed1t.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u1eeb kh\u00f3a c\u00f3 th\u1ec3 kh\u00f3 duy tr\u00ec khi m\u1edf r\u1ed9ng quy m\u00f4 ho\u1ea1t \u0111\u1ed9ng ki\u1ec3m th\u1eed. B\u1ea1n s\u1ebd c\u1ea7n ti\u1ebfp t\u1ee5c x\u00e2y d\u1ef1ng c\u00e1c kho l\u01b0u tr\u1eef v\u00e0 b\u1ea3ng t\u1eeb kh\u00f3a.<\/span><\/li>\n<\/ul>\n<h3><b> Hybrid Testing Framework<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-84561\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro.jpg\" alt=\"test automation framework - Hybrid Testing Framework - itviec blog\" width=\"1422\" height=\"588\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro.jpg 1422w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-300x124.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-640x265.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-200x83.jpg 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-768x318.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-100x41.jpg 100w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/hybrid-testing-automation-framework-vippro-700x289.jpg 700w\" sizes=\"auto, (max-width: 1422px) 100vw, 1422px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Gi\u1ed1ng nh\u01b0 h\u1ea7u h\u1ebft c\u00e1c quy tr\u00ecnh ki\u1ec3m th\u1eed hi\u1ec7n nay, c\u00e1c framework ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng \u0111\u00e3 b\u1eaft \u0111\u1ea7u \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p v\u00e0 ch\u1ed3ng ch\u00e9o v\u1edbi nhau. \u0110\u00fang nh\u01b0 t\u00ean g\u1ecdi, Hybrid Testing Framework l\u00e0 s\u1ef1 k\u1ebft h\u1ee3p v\u1edbi nhau t\u1eeb b\u1ea5t k\u1ef3 framework n\u00e0o \u0111\u01b0\u1ee3c \u0111\u1ec1 c\u1eadp tr\u01b0\u1edbc \u0111\u00f3 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp \u0111\u1ec3 t\u1eadn d\u1ee5ng \u01b0u \u0111i\u1ec3m v\u00e0 gi\u1ea3m nh\u01b0\u1ee3c \u0111i\u1ec3m l\u1eabn nhau v\u00e0 ph\u00e1t huy c\u00e1c \u01b0u \u0111i\u1ec3m c\u1ee7a c\u00e1c framework m\u00e0 n\u00f3 k\u1ebft h\u1ee3p s\u1eed d\u1ee5ng.<\/span><\/p>\n<p>\u01afu \u0111i\u1ec3m c\u1ee7a Hybrid Testing Framework:<\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">N\u1ebfu nh\u01b0 s\u1ef1 c\u00e2n b\u1eb1ng gi\u1eefa c\u00e1c framework \u0111\u01b0\u1ee3c k\u1ebft h\u1ee3p \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 v\u00e0 th\u1ef1c thi c\u1ea9n th\u1eadn th\u00ec n\u00f3 l\u1ea1i c\u00f3 m\u1ed9t s\u1ef1 linh ho\u1ea1t r\u1ea5t cao \u0111\u1ed1i v\u1edbi vi\u1ec7c n\u00e2ng c\u1ea5p v\u00e0 b\u1ea3o tr\u00ec project.<\/span><\/li>\n<\/ul>\n<p>Nh\u01b0\u1ee3c \u0111i\u1ec3m Hybrid Testing Framework:<\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">\u0110\u1ed1i v\u1edbi Hybrid th\u00ec c\u00e1c c\u00f4ng vi\u1ec7c ban \u0111\u1ea7u c\u00f3 th\u1ec3 ph\u1ee9c t\u1ea1p h\u01a1n \u0111\u1ed1i v\u1edbi c\u00e1c h\u01b0\u1edbng ti\u1ebfp c\u1eadn l\u00e0 c\u00e1c framework ph\u00eda tr\u00ean.<\/span><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_ve_test_automation_framework_thuong_gap\"><\/span><b>C\u00e1c c\u00e2u h\u1ecfi v\u1ec1 test automation framework th\u01b0\u1eddng g\u1eb7p<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><b> V\u00ec sao test automation framework quan tr\u1ecdng?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Test automation framework mang \u0111\u1ebfn nhi\u1ec1u ti\u1ec7n \u00edch n\u1ed5i b\u1eadt, gi\u00fap t\u1ed1i \u01b0u ho\u00e1 qu\u00e1 tr\u00ecnh ki\u1ec3m th\u1eed nh\u01b0:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u00ednh t\u1ed5 ch\u1ee9c: L\u01b0u tr\u1eef c\u00e1c k\u1ecbch b\u1ea3n test trong m\u1ed9t v\u1ecb tr\u00ed duy nh\u1ea5t.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">T\u00ednh b\u1ea3o tr\u00ec: C\u00e1c framework t\u1ef1 \u0111\u1ed9ng h\u1ed7 tr\u1ee3 vi\u1ec7c b\u1ea3o tr\u00ec ki\u1ec3m th\u1eed m\u1ed9t c\u00e1ch m\u01b0\u1ee3t m\u00e0. Vi\u1ec7c c\u1eadp nh\u1eadt test khi c\u00f3 nh\u1eefng thay \u0111\u1ed5i code di\u1ec5n ra d\u1ec5 d\u00e0ng v\u00e0 nhanh ch\u00f3ng, v\u1edbi c\u1ea5u tr\u00fac s\u1eb5n c\u00f3.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kh\u1ea3 n\u0103ng t\u00e1i s\u1eed d\u1ee5ng: M\u1ed9t framework t\u1ef1 \u0111\u1ed9ng t\u0103ng c\u01b0\u1eddng \u0111\u00e1ng k\u1ec3 kh\u1ea3 n\u0103ng t\u00e1i s\u1eed d\u1ee5ng b\u1eb1ng c\u00e1ch t\u1ea1o ra c\u00e1c test script c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng trong nhi\u1ec1u ch\u1ee9c n\u0103ng ph\u1ea7n m\u1ec1m kh\u00e1c nhau.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng: C\u00e1c t\u00ecnh hu\u1ed1ng v\u00e0 y\u00eau c\u1ea7u thay \u0111\u1ed5i li\u00ean t\u1ee5c \u0111\u00f2i h\u1ecfi m\u1ed9t s\u1ed1 test ph\u1ea3i \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng v\u00e0 gi\u1ea3m xu\u1ed1ng. M\u1ed9t framework ki\u1ec3m th\u1eed t\u1ef1 \u0111\u1ed9ng gi\u1ea3m thi\u1ec3u c\u00f4ng vi\u1ec7c \u0111\u1ec3 m\u1edf r\u1ed9ng kh\u1ea3 n\u0103ng ki\u1ec3m th\u1eed cho nhi\u1ec1u lo\u1ea1i test, bao g\u1ed3m c\u1ea3 ki\u1ec3m th\u1eed t\u1ea3i (load testing), ki\u1ec3m th\u1eed ch\u1ee9c n\u0103ng (functional testing) v\u00e0 ki\u1ec3m th\u1eed \u0111\u01a1n v\u1ecb (unit testing).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">B\u00ean c\u1ea1nh \u0111\u00f3, n\u00f3 c\u00f2n cho ph\u00e9p th\u1ef1c hi\u1ec7n c\u00e1c quy tr\u00ecnh ki\u1ec3m th\u1eed ph\u1ee9c t\u1ea1p, lo\u1ea1i b\u1ecf c\u00e1c l\u1ed7i ki\u1ec3m th\u1eed th\u1ee7 c\u00f4ng c\u00f3 th\u1ec3 x\u1ea3y ra v\u00e0 t\u1ea1o ra c\u00e1c k\u1ebft qu\u1ea3 nh\u1ea5t qu\u00e1n, \u0111\u00e1ng tin c\u1eady.<\/span><\/li>\n<\/ul>\n<h3><b>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 ch\u1ecdn test automation framework hi\u1ec7u qu\u1ea3?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">\u0110\u1ec3 ch\u1ecdn framework t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed ph\u00f9 h\u1ee3p, b\u1ea1n c\u1ea7n xem x\u00e9t c\u00e1c y\u00eau c\u1ea7u c\u1ee7a d\u1ef1 \u00e1n, nh\u00e2n s\u1ef1, t\u00f9y ch\u1ecdn ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh v\u00e0 s\u1ef1 h\u1ed7 tr\u1ee3 cho c\u00e1c c\u00f4ng c\u1ee5 v\u00e0 c\u00f4ng ngh\u1ec7 ki\u1ec3m th\u1eed m\u00e0 b\u1ea1n d\u1ef1 \u0111\u1ecbnh s\u1eed d\u1ee5ng.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">V\u00ed d\u1ee5: N\u1ebfu Tester \u0111\u00e3 l\u00e0 m\u1ed9t Developer kinh nghi\u1ec7m th\u00ec vi\u1ec7c s\u1eed d\u1ee5ng Selenium ho\u1eb7c Appium l\u00e0 l\u1ef1a ch\u1ecdn t\u1ed1t v\u00ec ch\u00fang cho ph\u00e9p b\u1ea1n x\u00e2y d\u1ef1ng v\u00e0 m\u1edf r\u1ed9ng quy m\u00f4 ngay t\u1eeb \u0111\u1ea7u.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tuy nhi\u00ean, n\u1ebfu Tester ch\u1ee7 y\u1ebfu l\u00e0 manual tester v\u00e0 b\u1ea1n c\u1ea7n t\u00ecm m\u1ed9t gi\u1ea3i ph\u00e1p low-code (kh\u00f4ng c\u1ea7n code qu\u00e1 nhi\u1ec1u) nh\u01b0ng c\u0169ng c\u00f3 th\u1ec3 ph\u00e1t tri\u1ec3n v\u00e0 m\u1edf r\u1ed9ng quy m\u00f4, th\u00ec c\u00e1c framework c\u00f3 s\u1eb5n nh\u01b0 Katalon Platform c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t gi\u1ea3i ph\u00e1p ph\u00f9 h\u1ee3p.<\/span><\/p>\n<h3><b>C\u00e1c y\u1ebfu t\u1ed1 t\u1ea1o n\u00ean m\u1ed9t khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed t\u1ed1t l\u00e0 g\u00ec?<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">M\u1ed9t test automation framework t\u1ed1t c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 qua c\u00e1c y\u1ebfu t\u1ed1 nh\u01b0 t\u00ednh di \u0111\u1ed9ng, kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng, kh\u1ea3 n\u0103ng s\u1eed d\u1ee5ng, kh\u1ea3 n\u0103ng t\u01b0\u01a1ng th\u00edch v\u1edbi nhi\u1ec1u n\u1ec1n t\u1ea3ng\/thi\u1ebft b\u1ecb\/h\u1ec7 \u0111i\u1ec1u h\u00e0nh kh\u00e1c nhau,&#8230;<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tong_ket_test_automation_framework\"><\/span><b>T\u1ed5ng k\u1ebft test automation framework<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Test automation framework l\u00e0 m\u1ed9t trong nh\u1eefng th\u00e0nh ph\u1ea7n quan tr\u1ecdng kh\u00f4ng th\u1ec3 thi\u1ebfu g\u00f3p ph\u1ea7n l\u00e0m n\u00ean th\u00e0nh c\u00f4ng c\u1ee7a c\u00e1c d\u1ef1 \u00e1n ki\u1ec3m th\u1eed. Vi\u1ec7c n\u1eafm b\u1eaft v\u00e0 l\u1ef1a ch\u1ecdn c\u00e1c framework ph\u00f9 h\u1ee3p s\u1ebd l\u00e0 ch\u00eca kh\u00f3a gi\u00fap t\u1ed1i \u01b0u hi\u1ec7u qu\u1ea3 c\u1ee7a ki\u1ec3m th\u1eed. H\u00e3y c\u00e2n nh\u1eafc nh\u1eefng \u0111\u1eb7c \u0111i\u1ec3m, y\u00eau c\u1ea7u c\u1ee7a t\u1eebng d\u1ef1 \u00e1n c\u1ee5 th\u1ec3 \u0111\u1ec3 ch\u1ecdn ra test automation framework th\u00edch h\u1ee3p.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Test automation framework l\u00e0 m\u1ed9t b\u1ed9 quy t\u1eafc v\u00e0 c\u00f4ng c\u1ee5 quan tr\u1ecdng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c test case. C\u00e1c b\u1ed9 khung n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m gi\u00fap c\u00e1c ch\u1ee9c n\u0103ng k\u1ef9 thu\u1eadt ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 h\u01a1n. H\u00e3y c\u00f9ng \u0111i\u1ec3m danh c\u00e1c lo\u1ea1i test automation framework ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 v\u00e0 [&hellip;]<\/p>\n","protected":false},"author":208,"featured_media":84567,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109],"tags":[],"class_list":["post-84569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o? - ITviec Blog<\/title>\n<meta name=\"description\" content=\"Test automation framework l\u00e0 g\u00ec? H\u00e3y c\u00f9ng ITviec t\u00ecm hi\u1ec3u v\u1ec1 6 lo\u1ea1i khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c Tester s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t hi\u1ec7n nay!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/test-automation-framework\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o?\" \/>\n<meta property=\"og:description\" content=\"Test automation framework l\u00e0 m\u1ed9t b\u1ed9 quy t\u1eafc v\u00e0 c\u00f4ng c\u1ee5 quan tr\u1ecdng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c test case. C\u00e1c b\u1ed9 khung n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m gi\u00fap c\u00e1c\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/test-automation-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-18T11:04:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"790\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"B\u00e1c V\u0103n\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"B\u00e1c V\u0103n\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o? - ITviec Blog","description":"Test automation framework l\u00e0 g\u00ec? H\u00e3y c\u00f9ng ITviec t\u00ecm hi\u1ec3u v\u1ec1 6 lo\u1ea1i khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c Tester s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t hi\u1ec7n nay!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/test-automation-framework\/","og_locale":"vi_VN","og_type":"article","og_title":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o?","og_description":"Test automation framework l\u00e0 m\u1ed9t b\u1ed9 quy t\u1eafc v\u00e0 c\u00f4ng c\u1ee5 quan tr\u1ecdng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c test case. C\u00e1c b\u1ed9 khung n\u00e0y \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf nh\u1eb1m gi\u00fap c\u00e1c","og_url":"https:\/\/itviec.com\/blog\/test-automation-framework\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-02-18T11:04:37+00:00","og_image":[{"width":1500,"height":790,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg","type":"image\/jpeg"}],"author":"B\u00e1c V\u0103n","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"B\u00e1c V\u0103n","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"18 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/"},"author":{"name":"B\u00e1c V\u0103n","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f11cf86a213a237f0946f87fb10529a2"},"headline":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o?","datePublished":"2025-02-18T11:04:37+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/"},"wordCount":4425,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg","articleSection":["Chuy\u00ean m\u00f4n IT"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/","url":"https:\/\/itviec.com\/blog\/test-automation-framework\/","name":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o? - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg","datePublished":"2025-02-18T11:04:37+00:00","description":"Test automation framework l\u00e0 g\u00ec? H\u00e3y c\u00f9ng ITviec t\u00ecm hi\u1ec3u v\u1ec1 6 lo\u1ea1i khung t\u1ef1 \u0111\u1ed9ng h\u00f3a ki\u1ec3m th\u1eed \u0111\u01b0\u1ee3c Tester s\u1eed d\u1ee5ng nhi\u1ec1u nh\u1ea5t hi\u1ec7n nay!","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/test-automation-framework\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/test-automation-framework-blog-thumbnail-vippro.jpg","width":1500,"height":790,"caption":"test automation framework - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/test-automation-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"Test automation framework l\u00e0 g\u00ec? Ph\u00e2n lo\u1ea1i nh\u01b0 th\u1ebf n\u00e0o?"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f11cf86a213a237f0946f87fb10529a2","name":"B\u00e1c V\u0103n","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/7865c2cc13f0a514fb50a474fb6c213d914bc3eb944a526c686318affa2285c6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7865c2cc13f0a514fb50a474fb6c213d914bc3eb944a526c686318affa2285c6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7865c2cc13f0a514fb50a474fb6c213d914bc3eb944a526c686318affa2285c6?s=96&d=mm&r=g","caption":"B\u00e1c V\u0103n"},"url":"https:\/\/itviec.com\/blog\/author\/bac-van\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/84569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/208"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=84569"}],"version-history":[{"count":0,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/84569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/84567"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=84569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=84569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=84569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}