{"id":9259,"date":"2022-03-17T06:38:51","date_gmt":"2022-03-17T06:38:51","guid":{"rendered":"https:\/\/thichblog.net\/?p=9259"},"modified":"2022-03-17T06:38:51","modified_gmt":"2022-03-17T06:38:51","slug":"api-testing-la-gi","status":"publish","type":"post","link":"https:\/\/vibeshelf.me\/?p=9259","title":{"rendered":"API Testing l\u00e0 g\u00ec?"},"content":{"rendered":"\n<p>API l\u00e0 t\u1eeb vi\u1ebft t\u1eaft c\u1ee7a Application Programing Interface (giao di\u1ec7n l\u1eadp tr\u00ecnh \u1ee9ng d\u1ee5ng).<\/p>\n\n\n\n<p>V\u1ec1 c\u01a1 b\u1ea3n, API l\u00e0 m\u1ed9t ngu\u1ed3n k\u1ebft n\u1ed1i cho ph\u00e9p trao \u0111\u1ed5i th\u00f4ng tin gi\u1eefa hai \u1ee9ng d\u1ee5ng kh\u00e1c nhau. N\u00f3i m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n h\u01a1n, ch\u1ee9c n\u0103ng c\u1ee7a API l\u00e0 cung c\u1ea5p ph\u1ea3n h\u1ed3i c\u1ee7a ng\u01b0\u1eddi d\u00f9ng \u0111\u1ed1i v\u1edbi \u1ee9ng d\u1ee5ng v\u00e0 g\u1eedi ph\u1ea3n h\u1ed3i c\u1ee7a \u1ee9ng d\u1ee5ng t\u1edbi ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\n\n<p>H\u01a1n n\u1eefa, API l\u00e0 m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c ch\u1ee9c n\u0103ng cho ph\u00e9p \u1ee9ng d\u1ee5ng t\u01b0\u01a1ng t\u00e1c v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 nh\u1ecf, h\u1ec7 \u0111i\u1ec1u h\u00e0nh v\u00e0 c\u00e1c th\u00e0nh ph\u1ea7n kh\u00e1c c\u1ee7a ph\u1ea7n m\u1ec1m hi\u1ec7n c\u00f3. <\/p>\n\n\n\n<p>V\u00ed d\u1ee5: Ch\u00fang ta \u0111\u1ec1u \u0111\u00e3 quen v\u1edbi vi\u1ec7c thanh to\u00e1n tr\u1ef1c tuy\u1ebfn th\u00f4ng qua nhi\u1ec1u ph\u01b0\u01a1ng th\u1ee9c kh\u00e1c nhau nh\u01b0 Ng\u00e2n h\u00e0ng tr\u1ef1c tuy\u1ebfn, v\u00ed \u0111i\u1ec7n t\u1eed, th\u1ebb ghi n\u1ee3 v.v. \u0110\u00e2y l\u00e0 m\u1ed9t \u1ee9ng d\u1ee5ng c\u1ee7a API c\u1ed5ng thanh to\u00e1n (API Payment Gateway).<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">V\u1eady API Testing l\u00e0 g\u00ec?<\/h5>\n\n\n\n<p>API testing l\u00e0 ph\u01b0\u01a1ng th\u1ee9c ki\u1ec3m th\u1eed m\u00e0 tester th\u1ef1c hi\u1ec7n \u0111\u1ec3 x\u00e1c th\u1ef1c hi\u1ec7u su\u1ea5t (performance), \u0111\u1ed9 tin c\u1eady (reliability) v\u00e0 b\u1ea3o m\u1eadt (security) c\u1ee7a Giao di\u1ec7n l\u1eadp tr\u00ecnh \u1ee9ng d\u1ee5ng (API).<\/p>\n\n\n\n<p>Ngo\u00e0i ra, m\u1ee5c ti\u00eau ch\u00ednh c\u1ee7a th\u1eed nghi\u1ec7m API l\u00e0 x\u00e1c minh kh\u1ea3 n\u0103ng \u0111\u00e1p \u1ee9ng v\u00e0 h\u00e0nh vi ch\u1ee9c n\u0103ng c\u1ee7a API trong c\u00e1c t\u00ecnh hu\u1ed1ng kh\u00e1c nhau.<\/p>\n\n\n\n<p>Trong qu\u00e1 tr\u00ecnh ki\u1ec3m tra API, tester s\u1eed d\u1ee5ng ph\u1ea7n m\u1ec1m \u0111\u1ec3 g\u1eedi l\u1ec7nh g\u1ecdi \u0111\u1ebfn c\u00e1c API v\u00e0 x\u00e1c th\u1ef1c hi\u1ec7u su\u1ea5t c\u1ee7a ch\u00fang. Trong qu\u00e1 tr\u00ecnh n\u00e0y, ch\u00fang ta t\u1eadp trung logic nghi\u1ec7p v\u1ee5 h\u01a1n l\u00e0 giao di\u1ec7n. H\u01a1n n\u1eefa, \u0111\u1ec3 cung c\u1ea5p k\u1ebft qu\u1ea3 \u0111\u1ea7u ra ch\u00ednh x\u00e1c, b\u1ea1n ph\u1ea3i ki\u1ec3m tra c\u00e1c API v\u00e0 do \u0111\u00f3 c\u1ea7n ph\u1ea3i bi\u1ebft v\u1ec1 quy tr\u00ecnh ki\u1ec3m tra API.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">T\u1ea1i sao ph\u1ea3i l\u00e0m API Testing?<\/h5>\n\n\n\n<p>Ch\u00fang ta \u0111ang s\u1ed1ng trong th\u1eddi k\u1ef3 m\u00e0 ng\u01b0\u1eddi d\u00f9ng mong \u0111\u1ee3i m\u1ecdi th\u1ee9 \u0111\u00e3 s\u1eb5n s\u00e0ng. \u0110\u00e2y l\u00e0 l\u00fd do; C\u00e1c c\u00f4ng ty CNTT \u0111ang nghi\u00eang v\u1ec1 kh\u00e1i ni\u1ec7m microservices. <\/p>\n\n\n\n<p>H\u01a1n n\u1eefa, microservices t\u1ea1o \u0111i\u1ec1u ki\u1ec7n cho c\u00e1c kho d\u1eef li\u1ec7u kh\u00e1c nhau t\u01b0\u01a1ng \u1ee9ng v\u1edbi m\u1ed7i ph\u1ea7n c\u1ee7a \u1ee9ng d\u1ee5ng y\u00eau c\u1ea7u c\u00e1c l\u1ec7nh kh\u00e1c nhau cho c\u00e1c ho\u1ea1t \u0111\u1ed9ng. <\/p>\n\n\n\n<p>C\u00e1c c\u00f4ng ty th\u00edch s\u1eed d\u1ee5ng kh\u00e1i ni\u1ec7m microservices v\u00ec \u200b\u200bn\u00f3 cho ph\u00e9p tri\u1ec3n khai nhanh ch\u00f3ng, gi\u00fap qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n di\u1ec5n ra su\u00f4n s\u1ebb h\u01a1n. <\/p>\n\n\n\n<p>Tuy nhi\u00ean, ch\u00fang t\u00f4i \u0111\u00e3 chia s\u1ebb kh\u00e1i ni\u1ec7m v\u1ec1 microservices v\u00ec \u200b\u200bAPI \u0111\u00f3ng m\u1ed9t vai tr\u00f2 quan tr\u1ecdng \u1edf \u0111\u00e2y. M\u1ed7i ph\u1ea7n c\u1ee7a \u1ee9ng d\u1ee5ng ch\u1ec9 nh\u1eadn \u0111\u01b0\u1ee3c l\u1ec7nh th\u00f4ng qua API. B\u00e2y gi\u1edd b\u1ea1n ph\u1ea3i c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i microservices v\u00e0 API. Do \u0111\u00f3, ki\u1ec3m tra API l\u00e0 \u0111i\u1ec1u b\u1eaft bu\u1ed9c ph\u1ea3i l\u00e0m v\u00ec n\u00f3 gi\u00fap x\u00e1c \u0111\u1ecbnh c\u00e1c l\u1ed7i ho\u1eb7c l\u1ed7i \u1edf giai \u0111o\u1ea1n ph\u00e1t tri\u1ec3n r\u1ea5t s\u1edbm. <\/p>\n\n\n\n<p>Ngo\u00e0i ra, th\u00f4ng qua ki\u1ec3m tra API, ch\u00fang t\u00f4i bi\u1ebft \u0111\u01b0\u1ee3c li\u1ec7u API c\u00f3 t\u01b0\u01a1ng t\u00e1c hi\u1ec7u qu\u1ea3 v\u1edbi t\u1ea5t c\u1ea3 c\u00e1c ph\u1ea7n c\u1ee7a m\u00e3 hay kh\u00f4ng? T\u1ea1i \u0111\u00e2y, ng\u01b0\u1eddi ki\u1ec3m tra x\u00e1c nh\u1eadn ph\u1ea3n h\u1ed3i c\u1ee7a API. H\u01a1n n\u1eefa, b\u1ea1n h\u1eb3n \u0111\u00e3 t\u1eebng nghe, \u201cS\u1edbm h\u01a1n th\u00ec t\u1ed1t h\u01a1n\u201d v\u00e0 \u0111i\u1ec1u t\u01b0\u01a1ng t\u1ef1 c\u0169ng x\u1ea3y ra \u1edf \u0111\u00e2y. T\u00ecm l\u1ed7i \u1edf c\u00e1c giai \u0111o\u1ea1n tr\u01b0\u1edbc, lu\u00f4n l\u00e0m cho \u1ee9ng d\u1ee5ng ho\u1ea1t \u0111\u1ed9ng hi\u1ec7u qu\u1ea3 h\u01a1n v\u00e0 m\u1ea1nh m\u1ebd h\u01a1n. Ngo\u00e0i ra, n\u00f3 b\u1ea3o v\u1ec7 \u1ee9ng d\u1ee5ng kh\u1ecfi nh\u1eefng thi\u1ec7t h\u1ea1i kh\u00e1c. V\u00ec nh\u1eefng l\u00fd do quan tr\u1ecdng n\u00e0y, n\u00ean qu\u00e1 tr\u00ecnh ki\u1ec3m tra API l\u00e0 \u0111i\u1ec1u b\u1eaft bu\u1ed9c. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>API l\u00e0 t\u1eeb vi\u1ebft t\u1eaft c\u1ee7a Application Programing Interface (giao di\u1ec7n l\u1eadp tr\u00ecnh \u1ee9ng d\u1ee5ng). V\u1ec1 c\u01a1 b\u1ea3n, API l\u00e0 m\u1ed9t ngu\u1ed3n k\u1ebft n\u1ed1i cho ph\u00e9p trao \u0111\u1ed5i th\u00f4ng tin gi\u1eefa hai \u1ee9ng d\u1ee5ng kh\u00e1c nhau. N\u00f3i m\u1ed9t c\u00e1ch \u0111\u01a1n gi\u1ea3n h\u01a1n, ch\u1ee9c n\u0103ng c\u1ee7a API l\u00e0 cung c\u1ea5p ph\u1ea3n h\u1ed3i c\u1ee7a ng\u01b0\u1eddi d\u00f9ng \u0111\u1ed1i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9271,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[19],"class_list":["post-9259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-testing","tag-api-testing"],"_links":{"self":[{"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/wp\/v2\/posts\/9259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9259"}],"version-history":[{"count":0,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/wp\/v2\/posts\/9259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/vibeshelf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibeshelf.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}