- Giới thiệu đến Khái niệm Dịch chuyển sang trái
- Kiểm tra Shift Left là gì?
- Cách thực hiện Shift Left Ảnh hưởng đến phát triển phần mềm?
- Người kiểm tra nên làm gì khác trong Shift Left?
- Lợi ích của Kiểm tra Shift Left
- Kết luận
Hãy cho chúng tôi biết suy nghĩ/góp ý của bạn trong phần bình luận bên dưới.
Hướng dẫn TRƯỚC
Khái niệm Kiểm thử phần mềm dần dần được giới thiệu khi các lỗi từ quá trình sản xuất bắt đầu ảnh hưởng đến ngân sách của dự án và do đó, 'Kiểm thử chức năng' đã có hiệu lực với một nhóm Người kiểm tra rất tinh gọn. Vào thời điểm đó, chúng tôi chỉ là hai Người thử nghiệm chống lại một nhóm gồm 20 Nhà phát triển.
Ngành CNTT bắt đầu theo mô hình thác nước để phát triển phần mềm, như chúng ta đều biết. , vòng đời phát triển phần mềm diễn ra tuần tự theo thứ tự .
Vì vậy, nếu bạn bắt đầu từ trái sang phải, thì Giai đoạn thử nghiệm nằm ở cực bên phải của vòng đời phát triển phần mềm.
Giới thiệu đến Khái niệm Dịch chuyển sang trái
Qua một thời gian, mọi người nhận ra tầm quan trọng của Kiểm tra phần mềm và tác động của việc giữ 'Giai đoạn kiểm tra' ở cực bên phải hoặc ở cuối vòng đời phát triển phần mềm. Nhận thức này xảy ra bởi vì chi phí của lỗi được xác định ở phía cực hữu và cuối cùng là rất cao và nỗ lực rất lớn & cần quá nhiều thời gian để sửa chúng.
Có trường hợp sau khi dành rất nhiều thời gian và công sức cho phần mềm, do lỗi nghiêm trọng được xác định ở cuối, phần mềm quan trọng không thể phát hành cho thị trường do đó dẫn đến tổn thất lớn.
Do đó, do việc xác định lỗi trong giai đoạn cuối hoặc việc phát hành bị trì hoãn hoặc tạinhiều lần, phần mềm đã bị loại bỏ do xem xét nỗ lực cần thiết để sửa chúng, điều này thực sự không đáng.
'Lỗi sẽ ít tốn kém hơn khi bị phát hiện sớm.
Nhận thức này và bài học lớn rút ra được đã tạo ra một cuộc cách mạng lớn trong ngành công nghiệp phần mềm và khai sinh ra một khái niệm mới gọi là 'Shift Left' , có nghĩa là chuyển 'Giai đoạn thử nghiệm' sang trái từ phải hoặc liên quan đến Thử nghiệm ở mọi giai đoạn và liên quan đến người thử nghiệm trong suốt.
Chuyển sang trái thử nghiệm cũng có nghĩa là không thử nghiệm cuối cùng nhưng kiểm tra liên tục.
Kiểm tra Shift Left là gì?
Thứ nhất, nguyên tắc 'Shift left' hỗ trợ Nhóm thử nghiệm cộng tác sớm với tất cả các bên liên quan trong giai đoạn phát triển phần mềm. Do đó, họ có thể hiểu rõ các yêu cầu và thiết kế các trường hợp thử nghiệm để giúp phần mềm 'Thất bại nhanh' và cho phép nhóm khắc phục tất cả các lỗi sớm nhất.
Phương pháp Shift Left không có gì khác ngoài việc liên quan đến người thử nghiệm sớm hơn nhiều trong vòng đời phát triển phần mềm, điều này sẽ cho phép họ hiểu các yêu cầu, thiết kế phần mềm, kiến trúc, viết mã và chức năng của nó, đặt những câu hỏi khó cho khách hàng, nhà phân tích kinh doanh và nhà phát triển, tìm kiếm sự làm rõ và cung cấp phản hồi bất cứ khi nào có thể để hỗ trợ nhóm.
Sự tham gia và hiểu biết này sẽgiúp người thử nghiệm có được kiến thức đầy đủ về sản phẩm, suy nghĩ về các tình huống khác nhau và thiết kế các tình huống thời gian thực dựa trên hành vi của phần mềm, điều này sẽ giúp nhóm xác định các lỗi ngay cả trước khi viết mã xong.
Cách thực hiện Shift Left Ảnh hưởng đến phát triển phần mềm?
Phương pháp tiếp cận Shift Lift ảnh hưởng đến Phát triển phần mềm theo nhiều cách.
Dưới đây là một số điểm chính về Shift Left:
- Phương pháp Shift Left tập trung vào thu hút người thử nghiệm tham gia vào tất cả và quan trọng nhất là các giai đoạn quan trọng của chương trình . Điều này cho phép người thử nghiệm chuyển trọng tâm của họ từ phát hiện lỗi sang ngăn ngừa lỗi và thúc đẩy các mục tiêu kinh doanh của chương trình.
- Phương pháp Shift Left mang lại tầm quan trọng cao đối với Kiểm tra theo đó vai trò và trách nhiệm của người kiểm thử tăng lên rất nhiều.
- Với trách nhiệm ngày càng tăng đối với nhóm Kiểm thử, nhóm không tập trung vào 'Kiểm thử phần mềm để xác định bug' , nhưng chủ động làm việc với nhóm ngay từ giai đoạn đầu để lập kế hoạch và xây dựng chiến lược thử nghiệm mạnh mẽ và hiệu quả bằng cách cung cấp hướng dẫn và lãnh đạo Thử nghiệm tuyệt vời cho nhóm bằng cách tập trung vào tầm nhìn dài hạn của sản phẩm, thay vì chỉ chịu trách nhiệm về công việc thử nghiệm.
- Phương pháp Shift Left mang lại cơ hội để Người kiểm tra thiết kế các bài kiểm tra trước , trong đó các bài kiểm tra hoàn toàn tập trung vào trải nghiệm của khách hàng và kỳ vọng của họ, từ đó sẽ cho phép các nhà phát triển phát triển phần mềm dựa trên các bài kiểm tra này và do đó đáp ứng nhu cầu của khách hàng.
- Phương pháp Shift Left không chỉ dừng lại ở riêng Người thử nghiệm. Chuyển sang cho thuê và thực hiện liên tục các hoạt động thử nghiệm cũng sẽ cho phép Nhà phát triển nắm quyền sở hữu nhiều hơn mã của họ và tăng trách nhiệm của họ trong quá trình thử nghiệm.
- Sự thay đổi Cách tiếp cận bên trái cũng khuyến khích Người kiểm tra áp dụng BDD phát triển theo hướng hành vi và TDD phát triển theo hướng kiểm tra , giúp ngăn chặn lỗi xâm nhập vào phần mềm.
- Kiểm tra Shift Left trong Agile: Phương pháp Shift Left hỗ trợ hình thành Nhóm Agile Scrum bắt buộc bao gồm Người kiểm tra cùng với các vai trò khác và bao gồm Người kiểm tra trong các cuộc gọi đứng lên thông thường, các tương tác khác, xem xét các cuộc họp đã làm cho người thử nghiệm có thêm thông tin liên quan đến chương trình và do đó cho phép họ say mê và tham gia vào phân tích chi tiết về phần mềm và cung cấp phản hồi nhanh chóng giúp ngăn ngừa các lỗi có trong phần mềm.
Thử nghiệm Shift Left tổng thể yêu cầu người thử nghiệm 'Tham gia sớm' , càng sớm càng tốt vàtham gia thảo luận và cộng tác về các ý tưởng, yêu cầu ở mọi giai đoạn mà kết quả của giai đoạn đó ảnh hưởng đến giá trị của sản phẩm bàn giao cuối cùng, đồng thời giúp dự án xác định trước các rủi ro và giảm thiểu rủi ro.
Người kiểm tra nên làm gì khác trong Shift Left?
Đưa ra bên dưới là một số yếu tố chính cần lưu ý là những gì Người kiểm tra làm khác đi trong Chiến lược Dịch chuyển sang trái:
#1) Nhóm kiểm tra cần tham gia sớm vào hệ thống ngay từ khi bắt đầu dự án để phát triển khả năng tích hợp với các thành viên còn lại trong nhóm và doanh nghiệp để cung cấp đầu vào hữu ích ở mọi giai đoạn của quá trình phát triển phần mềm.
#2) Nhóm thử nghiệm nên làm việc với bộ phận Kinh doanh & Nhóm vận hành và đạt được sự rõ ràng về chương trình và cung cấp một cái nhìn rõ ràng về nhu cầu và giúp lập kế hoạch hiệu quả về các nhu cầu tăng cường nguồn lực, nhu cầu đào tạo và các yêu cầu về công cụ kiểm tra đối với chương trình trước.
#3) Nhóm thử nghiệm phải tương tác sớm với tất cả các bên liên quan trong kinh doanh trong quá trình phát triển phần mềm để có được tầm nhìn rõ ràng về sản phẩm & thiết kế chiến lược thử nghiệm thống nhất và lập kế hoạch cho nỗ lực thử nghiệm được tối ưu hóa, phân tích sự phụ thuộc vào môi trường thử nghiệm, bên thứ ba, sơ khai, v.v. và chuẩn bị một chiến lược và khuôn khổ tự động hóa mạnh mẽ và xây dựng quản lý dữ liệu thử nghiệm hiệu quảkế hoạch.
#4) Nhóm thử nghiệm phải làm việc với các thành viên còn lại trong nhóm để cung cấp Khả năng lãnh đạo và hướng dẫn thử nghiệm tuyệt vời cho nhóm do đó luôn ghi nhớ tầm nhìn dài hạn của sản phẩm thay vì chỉ chịu trách nhiệm cho các hoạt động thử nghiệm.
#5) Các yêu cầu là chìa khóa và cơ sở cho sự thành công của bất kỳ chương trình nào và- yêu cầu xác định xác định sự thành công của dự án. Trong giai đoạn Lập kế hoạch yêu cầu, Người kiểm tra cần xem xét và phân tích các yêu cầu để tìm bất kỳ sự mơ hồ nào, rõ ràng hơn, đầy đủ hơn, khả năng kiểm tra, định nghĩa tiêu chí chấp nhận, v.v.
Ngoài ra cần xác định các yêu cầu còn thiếu (nếu có), đồng thời hiểu rõ các yếu tố phụ thuộc và chiến lược triển khai. Yêu cầu rõ ràng giúp phần mềm 'Lỗi nhanh' và khắc phục tất cả các lỗi sớm nhất.
#6) Mang lại đủ độ rõ ràng và chính xác cho các yêu cầu bằng cách đưa ra các ví dụ thực tế minh họa các tính năng đang được sử dụng.
#7) Người kiểm tra cần tham dự các cuộc họp đánh giá thiết kế thường xuyên và hiểu kiến trúc và thiết kế sản phẩm, đồng thời xác định các lỗi thiết kế, đề xuất các phương án thiết kế thay thế, xác định các lỗ hổng và tạo các kịch bản thử nghiệm tương ứng để phá vỡ các thiết kế.
#8) Người kiểm tra cần thực hiện Kiểm tra tĩnh (đánh giá) trước và cung cấp phản hồi về dự án chínhtài liệu để ngăn chặn các lỗi xâm nhập vào phần mềm và mở rộng ảnh hưởng của nó sau này.
#9) Nhóm kiểm thử nên cộng tác với nhóm thiết kế và phát triển trong cung cấp trước các kịch bản thử nghiệm để phát triển mã và giải quyết tất cả các kịch bản thời gian thực và luồng công việc có thể xảy ra.
#10) Nhóm thử nghiệm phải thiết kế các kịch bản thử nghiệm hiệu quả và mạnh mẽ để chỉ một số lỗi được xác định trong quá trình thử nghiệm và các lỗi lớn được ngăn chặn khi bước vào giai đoạn thử nghiệm.
#11) Người kiểm tra phải Kiểm tra càng sớm càng tốt , trên hệ thống độc lập hoặc cục bộ, để lỗi không chuyển sang các giai đoạn sau.
Toàn bộ mấu chốt của khái niệm 'Shift Left' dành cho Người kiểm tra là tìm ra Lỗi càng sớm càng tốt bằng mọi cách có thể.
Lợi ích của Kiểm tra Shift Left
Các Phương pháp Shift Left hoạt động dựa trên tuyên ngôn linh hoạt và cũng có một số lợi thế.
Đó là:
- Cá nhân và tương tác trên các quy trình và các công cụ.
- Phần mềm làm việc hơn là tài liệu toàn diện.
- Cộng tác với khách hàng hơn là đàm phán hợp đồng.
- Đáp ứng thay đổi thay vì tuân theo kế hoạch.
Chúng ta có thể thấy rằng mặc dù giá trị nằm ở các mục bên phải, nhưng chúng ta đánh giá cao hơn đối với các mục ở phía bên trái.
Chà, Shift Left nói vềđưa ra ý tưởng thử nghiệm sớm hơn trong quy trình, từ đó mang lại kết quả thử nghiệm tốt hơn, hiệu quả hơn và cải thiện chất lượng của phần mềm.
Tóm lại, quy trình Kiểm tra Shift Left là:
- Tìm ra lỗi sớm do đó giảm chi phí của dự án.
- Thử nghiệm liên tục lặp đi lặp lại để giảm thiểu lỗi cuối cùng.
- Để tự động hóa mọi thứ và cải thiện thời gian đưa ra thị trường.
- Tập trung vào các yêu cầu của khách hàng và cải thiện trải nghiệm của khách hàng.
Kết luận
Khái niệm 'Shift Left' đã mang lại một sự thay đổi lớn cho toàn bộ vai trò 'Thử nghiệm'. Cho đến lúc đó, trọng tâm duy nhất của Kiểm thử chỉ là 'Phát hiện lỗi' và giờ đây, mục tiêu của 'Chuyển sang trái' từ góc độ Kiểm thử là hành trình 'Phát hiện lỗi sớm sang Kiểm thử tĩnh' .
Do đó, Shift Left là một Bước nhảy vọt lớn trong ngành công nghiệp phần mềm về phương pháp Phát triển Phần mềm hướng tới tốc độ đưa ra thị trường, cải thiện chất lượng phần mềm và giảm 'Thời gian đưa ra thị trường'.
Giới thiệu về tác giả: Bài viết này được viết bởi thành viên nhóm STH Gayathri Subrahmanyam. Cô ấy làm công việc kiểm thử phần mềm từ những năm 90, ngay khi vai trò người kiểm thử được giới thiệu trong ngành. Trong sự nghiệp thử nghiệm của mình, cô ấy đã thực hiện rất nhiều đánh giá TMMI, các công việc Thử nghiệm Công nghiệp hóa và thiết lập TCOE ngoài việc xử lý các đợt giao thử nghiệm và