Showing posts with label testing. Show all posts
Showing posts with label testing. Show all posts

Software Testing Type

Để bắt đầu dấn thân vào Automation testing step by step mình xin chia sẻ nội dung bài viết  mô tả sự khác nhau của nhiều loại kiểm thử, được sử dụng để test phần mềm trong chu kỳ phát triển phần mềm Software Development Lifecycle (SDLC)

Manual testing:
kiểu test này là kiểm thử phần mềm thông thường, các thao tác thực hiện bằng con người không sử dụng một số công cụ kiểm thử tự động hoặc kịch bản. Trong kiểu test này người kiểm thử đóng vai trò là người dùng cuối kiểm tra nhận dạng/ xác định chức năng của phần mềm để tìm ra các hành vi không mong muốn/ bất khả kháng hoặc là lỗi phần mềm
Một số giai đoạn thuộc dạng manual testing như unit testing, integration testing, system testing và user acceptance testing
người kiểm thử lập kế hoạch test, viết testcase hoặc kịch bản test để test phần mềm để đảm bảo đầy đủ các ca kiểm thử. Manual testing cũng bao gồm các kiểm thử thăm dò, người kiểm thử khám phá phần mềm để xác định lỗi trong đó

Automation testing
automation testing là một phương pháp kiểm thử tự động được hiểu như là test tự động, khi người kiểm thử viết kịch bản và sử dụng phần mềm khác để test. Quy trình này liên quan đến tự động hóa các quy trình manunal. Automation testing được sử dụng chạy lại các kịch bản test được viết bằng tay nhanh chóng và lặp lại nhiều lần
ngoài kiểm thử hồi quy (regression testing) automation testing cũng được dùng để test ứng dụng tải hiệu năng và điểm stress. Chúng làm tăng lên bao trùm vùng test; cải thiện độ chính xác, tiết kiệm thời gian và tiền bạc hơn so với manual testing

Tự động hóa những cái gì?
Phương pháp này không  tự động tất cả mọi thứ trong phần mềm; tuy nhiên, phân vùng mà người dùng có thể thực hiện giao dịch/ thao tác như form đăng nhập hoặc form đăng ký ... module test với số lượng nhiều user có thể truy cập vào phần mềm đồng thời có thể tự động
Hơn nữa tất cả thành phần của giao diện người dùng tương tác (GUI) được kết nối với database, các trường thông tin được xác nhận..có thể được kiểm tra một cách hiệu quả bằng phương pháp tự động

Tự động hóa khi nào?
kiểm tra tự động nên được áp dụng cho trường hợp cụ thể bằng cách xem xét các điều dưới đây:
- Các dự án lớn và quan trọng
- dự án đòi hỏi kiểm thử các khu vực thường xuyên
- Các yêu cầu không được thay đổi thường xuyên
- Truy cập ứng dụng tải và hiệu suất với nhiều người dùng ảo
- phần mềm ổn định với phương pháp kiểm thử thủ công
- sẵn có thời gian

Tự động hóa như thế nào?
Tự động là được chạy với sự hỗ trợ của ngôn ngữ lập trình máy tính như vb scripting và tự động trên một ứng dụng phần mềm
Chúng bao gồm một số công cụ có sẵn được ghi lại kịch bản tự động
trước khi đề cập đến các công cụ quyết định xác định quá trình đó có thể được sử dụng kiểm thử tự động:
- xác định vùng kiểm thử trong phần mềm
- Chọn lựa công cụ thích hợp cho test tự động
- viết kịch bản test
- phát triển bộ test (Test suits)
- thực thi các kịch bản
- tạo kết quả báo cáo
- xác định bất kỳ trường hợp có khả năng là lỗi hoặc vấn đề có tiềm năng

Công cụ kiểm thử phần mềm
Sau đây là các công cụ có thể sử dụng cho kiểm thử tự động :
- HP Quick Test Professional
- Selenium
- IBM Rational Functional Tester
- Silk Test
- TestComplete
- Testing anywhere
- WinRunner
- Load Runner
- Visual Studio Test Professional
- WATIR

Trong bài này nói tổng quát về automation testing trả  lời cho 5 câu hỏi chính What, Why, When, How, Where automate.Tiếp theo, bạn đọc tìm hiểu về html & element locator tại đây

Có sai sót hay thiếu phần nào bạn đọc có thể feedback cho mình nhé.
#best
Continue Reading →

Kiểm thử phần mềm

Gần đây tôi có đọc một bài báo nói rằng phần mềm là việc nhàm chán (ngồi cả ngày trước máy tính) và kiểm thử phần mềm là kĩ năng thấp, không được kính trọng cho nên thay vì nghiên cứu khoa học máy tính hay kĩ nghệ phần mềm, sinh viên nên nghiên cứu cái gì đó khác để làm “điều quan trọng.” Tôi không biết tác giả nghĩ gì trong đầu về những vấn đề quan trọng nhưng là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng phần mềm KHÔNG là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân. Kiểm thử phần mềm KHÔNG phải là kĩ năng thấp nhưng là một phần quan trọng của qui trình phát triển phần mềm. Nó yêu cầu người kiểm thử phần mềm phải có đầu óc logic để phân tích sự hợp lí của qui trình phần mềm, để nhận diện các lỗi và để bảo đảm sản phẩm cuối cùng đáp ứng các yêu cầu. Kiểm thử là việc rất thách thức, chẳng hạn kiểm thử trò chơi máy tính, được thiết kế để mô phỏng xúc cảm từ những người chơi, yêu cầu người kiểm thử phải có các quyết định về xúc cảm và chủ quan. Kiểm thử các phần mềm mấu chốt như hệ thống máy tính của vệ tinh hay máy bay yêu cầu người kiểm thử phải hội tụ vào mọi kịch bản có thể để khử bỏ mọi rủi ro và ngăn ngừa thảm hoạ.
Ngược với khái niệm là người làm phần mềm ngồi cả ngày trước máy tính, người làm phần mềm tốt không chỉ là người kĩ thuật mà còn là người doanh nghiệp. Họ bao giờ cũng tham gia cùng khách hàng, người dùng, người quản lí trên cơ sở hàng ngày cho nên họ có thể có hiểu biết rõ ràng về các yêu cầu doanh nghiệp. Việc của người kĩ sư phần mềm là tạo ra sản phẩm đáp ứng yêu cầu của khách hàng, người dùng và người quản lí. Bằng việc hoàn thành những yêu cầu này, họ giải quyết các vấn đề, phân tích vấn đề; tạo ra các sản phẩm canh tân mà không chỉ là những thứ được ưa chuộng nhưng còn là những thứ vui cho mọi người. Để tham gia cùng người dùng một cách có hiệu quả, người kĩ sư phần mềm chuyên nghiệp phải có quan điểm kĩ thuật và quan điểm doanh nghiệp để hiểu doanh nghiệp đang cố gắng đạt tới cái gì. Khi đối diện với thách thức họ náo nức, xúc động của họ lên cao và họ bắt đầu phân tích tình huống theo cách tiếp cận logic để tạo ra giải pháp tốt nhất có thể được. Nhiều kĩ sư phần mềm nói với tôi rằng họ tin kiến trúc, thiết kế và lập trình cho phần mềm là “nghệ thuật” và họ vừa là nhà khoa học vừa là nghệ sĩ. Họ cảm thấy giống nhà khoa học bởi vì điều đó yêu cầu tư duy logic, phân tích và tổ chức nhưng cũng giống nghệ sĩ bởi vì họ tạo ra thứ có tính trí tuệ và biến đổi chúng thành thứ vật lí – tác phẩm phần mềm, như nhạc sĩ, hoạ sĩ hay nhà văn bởi vì sản phẩm của họ là kết quả của tâm trí sáng tạo cao, dứt khoát không phải là cái gì đó nhàm chán.
Về mặt truyền thống, người kĩ sư phần mềm không nói ra lời về công việc của họ và ích lợi tích cực họ đem tới cho doanh nghiệp và xã hội. Họ để hàng giờ làm việc cũng như nhạc sĩ làm việc nhọc nhằn để tìm ra sự hài hoà hoàn hảo hay nhà thơ cố gắng đi tới những vần thơ hoàn hảo. Tuy nhiên, khác với nghệ sĩ, người làm việc chủ yếu một mình, qua việc phát triển phần mềm, người kĩ sư phần mềm thường xuyên tham gia với nhau để duy trì mối quan hệ tích cực với khách hàng của mình bằng việc trao đổi và chứng tỏ cách sản phẩm của họ sẽ đáp ứng cho yêu cầu của khách hàng. Mối nối giữa cách tiếp cận xúc cảm và vấn đề doanh nghiệp và công nghệ trong môi trường phát triển trở thành rõ ràng khi thẩm định thành công mà người làm phần mềm đạt tới trong việc chuyển giao kết quả tích cực cho doanh nghiệp.
Điều không may là tôi cũng thấy rằng nhiều người làm kiểm thử phần mềm, người được huấn luyện theo qui trình truyền thống kiểm thử mã chỉ dựa trên ngôn ngữ lập trình và thường không tham gia có hiệu quả với doanh nghiệp và do vậy đạt tới mức độ thành công và kính trọng ít hơn. Kiểm thử phần mềm là một bộ môn trong số nhiều việc huấn luyện kĩ nghệ phần mềm nhưng trong khoa học máy tính truyền thống, nó đơn thuần hội tụ vào kiểm thử lập trình, không mấy hội tụ vào kiểm thử thiết kế, kiểm thử kiến trúc, kiểm thử yêu cầu, trắc nghiệm doanh nghiệm, kiểm thử thuộc tính chất lượng và kiểm thử xúc cảm. Chẳng hạn họ có thể không hiểu tầm quan trọng của việc nắm bắt thông tin chứng tỏ giá trị mà kiểm thử đem lại cho doanh nghiệp hay sự lí thú của kiểm thử “cảm giác” của người dùng khi dùng sản phẩm, (kiểm thử tính dùng được trong công nghiệp trò chơi máy tính) mà chỉ biết cách kiểm thử mã.
Dùng cách tiếp cận xúc cảm tới kiểm thử cũng tạo khả năng cho người kĩ sư phần mềm đưa bộ môn phần mềm tới cuộc sống – dùng những ví dụ dự án cuộc sống thực mà đã bị thất bại do thiếu hụt trong kiểm thử và thủ tục đảm bảo chất lượng sẽ có hiệu quả hơn nhiều cách tiếp cận truyền thống “mã trước hỏi câu hỏi sau”. Nếu người kĩ sư phần mềm có thể tham gia với doanh nghiệp và ngành công nghiệp công nghệ ở mức độ xúc cảm, họ sẽ hiểu giá trị gia tăng và ích lợi doanh nghiệp của kiểm thử cũng như cách nó có thể là điều lí thú. Kiểm thử thực sự là cách tiếp cận “toàn trí” bởi vì nó yêu cầu cả logic và xúc cảm trong việc hướng dẫn phát triển phần mềm để khử lỗi và rủi ro qua cách tiếp cận logic và có cấu trúc. Huấn luyện truyền thống nói rằng chuẩn bị kiểm thử xảy ra sau khi lập trình được hoàn tất, điều thực sự quá muộn bởi vì nó chỉ hội tụ vào phát hiện khiếm khuyết của việc thực hiện (viết mã). Huấn luyện kĩ nghệ phần mềm hội tụ vào kiểm thử ở mọi pha của vòng đời phát triển, điều có nghĩa là kiểm thử bắt đầu khi dự án bắt đầu và trường hợp kiểm thử và kịch đoạn kiểm thử phải được chuẩn bị sớm nhất có thể được.
Tôi tin người kiểm thử phần mềm có vai trò mấu chốt trong thành công hay thất bại của dự án và họ cần tham gia vào công việc ở giai đoạn sớm, hội tụ vào mọi chi tiết một cách có hiệu quả để xác định yêu cầu từ dự án và thực sự nắm được những mức thấp nhất về điều người dùng và khách hàng muốn. Khi làm điều này, thảm hoạ có thể được ngăn ngừa, việc dùng sản phẩm có thể là vui đùa và doanh nghiệp sẽ bắt đầu nhận ra ích lợi đúng của dự án thành công. Tôi tin phần mềm là việc lí thú và người kiểm thử phần mềm cần được thừa nhận về điều họ đã đóng góp.
Continue Reading →

translate

Hôm nay đọc gì

Lưu trữ

view

view