Bài học 1Ưu tiên tự động hóa: kiểm thử nào tự động hóa trước (API, luồng quan trọng, hồi quy), lý do và tiêu chí ROI tự động hóaPhần này giải thích cách ưu tiên kiểm thử cho tự động hóa, tập trung vào API, luồng người dùng quan trọng và bộ kiểm thử hồi quy, đồng thời xác định tiêu chí ROI tự động hóa, khả năng bảo trì và giảm rủi ro để hướng dẫn quyết định đầu tư.
Identifying high value candidates for automationAutomating API tests before complex UI flowsAutomating critical paths and happy day journeysBuilding a stable regression automation backboneCalculating and tracking automation ROIDeciding when not to automate a testBài học 2Kiểm soát phát hành và tiêu chí thoát kiểm thử liên kết với tiêu chí chấp nhận và chỉ sốPhần này xác định kiểm soát phát hành và tiêu chí thoát kiểm thử, cho thấy cách liên kết chúng với tiêu chí chấp nhận, rủi ro và chỉ số như tỷ lệ lỗi, độ phủ và hiệu suất để quyết định phát hành minh bạch và dựa trên bằng chứng.
Defining clear entry and exit criteriaLinking exit criteria to acceptance criteriaQuality metrics for go or no-go decisionsDefect severity thresholds and open bug limitsHandling risk-based exceptions and waiversDocumenting release decisions and sign-offsBài học 3Khả năng truy vết: ánh xạ yêu cầu đến kiểm thử và báo cáo độ phủPhần này bao gồm khả năng truy vết từ yêu cầu đến kiểm thử, bao gồm xây dựng và duy trì ma trận truy vết, liên kết kiểm thử với user story và rủi ro, và báo cáo khoảng trống độ phủ thông tin cho lập kế hoạch và quyết định phát hành.
Creating a lightweight traceability matrixLinking user stories, risks, and test casesTraceability in agile tools and test managementMeasuring coverage beyond simple countsIdentifying and prioritizing coverage gapsUsing traceability in audits and complianceBài học 4Các loại kiểm thử cần thiết: chức năng, hồi quy, smoke/sanity, E2E, hiệu suất/tải/căng thẳng, bảo mật, tiếp cận, cross-browser và responsive, bản địa hóa và xác thực dữ liệuPhần này phác thảo các loại kiểm thử cần thiết cho ứng dụng web, bao gồm chức năng, hồi quy, smoke/sanity, E2E, hiệu suất/tải/căng thẳng, bảo mật, tiếp cận, cross-browser và responsive, bản địa hóa và xác thực dữ liệu, với hướng dẫn khi áp dụng từng loại.
Functional and regression suites for core flowsSmoke and sanity checks for rapid feedbackPerformance, load, and stress test objectivesSecurity testing for common web vulnerabilitiesAccessibility, cross-browser, and responsive testsLocalization and data validation considerationsBài học 5Chiến lược kiểm thử thủ công: khám phá, khả dụng, ad-hoc, kiểm thử dựa trên phiên, xác thực trường hợp biênPhần này tập trung vào chiến lược kiểm thử thủ công bổ sung tự động hóa, bao gồm khám phá, khả dụng, ad-hoc, kiểm thử dựa trên phiên, cộng với kỹ thuật phát hiện trường hợp biên và ghi chép ghi chú kiểm thử chất lượng cao và charter.
Planning and structuring exploratory test chartersHeuristics and tours for discovering hidden defectsUsability evaluation for web flows and UI patternsSession-based test management and note takingAd hoc testing for quick risk probes and spikesDesigning edge case scenarios and boundary checksBài học 6Môi trường kiểm thử, thiết lập staging, che dữ liệu, ảo hóa dịch vụ cho thanh toán bên thứ ba và kênh thời gian thựcPhần này chi tiết cách thiết kế và quản lý môi trường kiểm thử web, bao gồm thiết lập staging, dữ liệu thực tế nhưng bị che, và ảo hóa dịch vụ cho thanh toán bên thứ ba và kênh thời gian thực để kích hoạt kiểm thử an toàn, lặp lại.
Designing staging to mirror production risksStrategies for synthetic and masked test dataManaging environment configuration and driftService virtualization for payment gatewaysSimulating real time channels and webhooksMonitoring environment health and availabilityBài học 7Chiến lược tự động hóa kiểm thử: chọn framework, kim tự tháp kiểm thử, tích hợp CI/CD, quản lý dữ liệu kiểm thử và môi trườngPhần này xác định chiến lược tự động hóa bền vững cho ứng dụng web, bao gồm chọn framework, kim tự tháp kiểm thử, tích hợp CI/CD, và cách tiếp cận mạnh mẽ cho quản lý dữ liệu kiểm thử và môi trường giữ bộ kiểm thử nhanh, ổn định và bảo trì.
Criteria for selecting UI and API automation frameworksDesigning a maintainable test pyramid for web productsIntegrating automated tests into CI/CD pipelinesManaging test data: seeding, factories, anonymizationStabilizing flaky tests and handling async behaviorVersioning tests alongside application codeBài học 8Tổng quan các thành phần chiến lược kiểm thử: phạm vi, cấp độ, loại, môi trường, lịch trình, vai tròPhần này phân tích các thành phần cốt lõi của chiến lược kiểm thử, bao gồm phạm vi, cấp độ, loại, môi trường, lịch trình và vai trò, và cho thấy cách ghi chép chúng rõ ràng để đội ngũ chia sẻ hiểu biết chung về mục tiêu chất lượng.
Defining in-scope and out-of-scope featuresSelecting appropriate test levels for each layerChoosing test types based on product risksPlanning environments and required configurationsDocumenting roles, ownership, and RACI chartsMaintaining and versioning the strategy documentBài học 9Lập lịch kiểm thử và phân bổ nguồn lực cho dòng thời gian betaPhần này giải thích cách lập lịch hoạt động kiểm thử và phân bổ người, môi trường và công cụ qua dòng thời gian beta, cân bằng rủi ro, phạm vi và ràng buộc đồng thời giữ thông tin cho bên liên quan với kế hoạch thực tế, dựa trên dữ liệu.
Defining testing phases within a beta timelineEstimating effort using risk and complexityAllocating testers, tools, and environmentsAligning test milestones with release milestonesBuffers, contingencies, and handling slippageCommunicating schedule and changes to stakeholdersBài học 10Cấp kiểm thử: unit, tích hợp, thành phần, hệ thống, end-to-end — mục tiêu và sản phẩm mẫu cho từng cấpPhần này giải thích từng cấp kiểm thử cho hệ thống web—unit, tích hợp, thành phần, hệ thống và end-to-end—làm rõ mục tiêu, sở hữu, sản phẩm mẫu và cách các cấp tương tác để cung cấp phản hồi chất lượng phân tầng.
Unit tests: scope, isolation, and code contractsIntegration tests for services and data layersComponent tests for UI widgets and modulesSystem tests for full web application behaviorEnd-to-end tests for critical user journeysChoosing ownership and tooling per level