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

10 nguyên tắc cơ bản cho người mới bắt đầu học automation testing


[quote] Automation testing từ khóa này lúc nào mình cũng search search research bao là nhiêu. tìm hiểu về nó thì có rất nhiều tài liệu nhưng sẽ rất mung lung không biết bắt đầu từ đâu. Bởi vậy, không biết thì hỏi muốn giỏi thì search google nhiều =)))
Dưới đây, mình cũng tìm đọc và chia sẻ cho bạn nào muốn tìm hiểu về auto testing. Bạn nào đang tìm hiểu hoặc có kinh nghiệm chia sẻ cùng mình nha. :) [/quote]

Testing là một một nhiệm vụ khó khăn và để tự động hóa đòi hỏi người kiểm thử
có sự hiểu biết sâu sắc về quá trình và thực hành liên tục, tìm ra cho mình một tool hoặc ngôn ngữ
basic để hiểu và viết testscript bằng java hoặc python (còn nhiều ngôn ngữ khác áp dụng nếu như bạn nào rành về C# cũng OK tuốt =D)
Bạn nào mới bắt đầu về java thì có thể lên mạng search learning java basic hoặc học theo bài cơ bản nhất theo link này: http://workbench.cadenhead.org/book/java-8-24-hours/

Nhưng trước hết bạn hiểu và nắm rõ được 10 nguyên tắc cơ bản dưới đây:

Nguyên tắc 1: Đọc và học/ hiểu cơ bản về nó (automation testing)
ngay cả những người phát triển có tay nghề cũng phải rà soát
lại kiến thức của mình theo thời gian, học tập là luôn cập nhật trau dồi kiến thức thường xuyên

Tự động hóa là gì? tự đặt câu hỏi và tự tìm hiểu để trả lời thì bạn sẽ nhớ lâu hơn, hoặc có thể tham khảo của những người đi trước. tự động hóa một đánh giá đơn thuần của các bước chương trình phải thực hiện, bạn tự viết một hướng dẫn chi tiết.

Nguyên tắc 2: Kế hoạch chuẩn bị để đáp ứng các dự án tự động

Thực hành là cách duy nhất để có được kiến thức hợp lệ.
Lấy bất kỳ công cụ kiểm tra mã nguồn mở có sẵn, cài đặt  và học cách sử dụng nó trong thời gian rảnh của bạn. Các sandbox (hộp kiểm thử hiện đại) có thể làm được bất cứ điều gì, thậm chí MS Office của bạn hoặc công cụ Calculator ( thực hiện demo trươc1). Chỉ cần có được công cụ và bắt đầu, Khi bạn đạt được sự hiểu biết và kinh nghiệm có thể sẵn sàng đối mặt với các dự án thực tế khi cần thiết.

Nguyên tắc 3: Các khái niệm/ định nghĩa cơ bản là giống nhau. Hãy khám phá chúng!
Ngoài đặc thù là khác nhau nhưng tất cả các ngôn ngữ cơ bản hoạt động
cùng một khái niệm như các biến, tham số, các chức năng, các
loại dữ liệu khác nhau, vòng lặp có điều kiện hoặc báo cáo, mảng, chỉ khác nhau ở công nghệ của mỗi ngôn ngữ. Sau khi có những hiểu và ghi nhớ, bạn sẽ có thể áp dụng kiến
 thức này để coding bất kỳ ngôn ngữ nào bạn học. (java ? python..)

Nguyên tắc 4: Không dừng lại khi chương trình đầu tiên bị FAIL
Khi mà thực hành viết 1 chương trình testscript nào đó bị lỗi bạn đừng vội nản lòng.
Có một câu ngạn ngữ Nga tuyệt vời: "the first pancake is a mess. It means first try on anything will most likely fail, but all the next ones will be better, as you will gain experience in the process.
 No matter how good you are on theory, first practice likely will be disappointing. So just go on."

Nguyên tắc 5: Nhìn vào code như một thủ tục chứ không phải là một magic :3

Bất cứ khi nào mới bắt đầu nhìn vào code, nó có vẻ gần như khá phức tạp.
Tuy nhiên, sau khi thực hiện một số coding, bạn sẽ có thể nhận ra mô hình và quy trình cùng một lúc làm cho việc đọc mã dễ dàng hơn nhiều. Bạn sẽ thấy nó chỉ đơn thuần là một hướng dẫn cho các chương trình.

Nguyên tắc 6: Khám phá tool
Mình nói rồi đấy. Bất cứ một người làm kiểm thử nào nếu không muốn mình đơn thuần là 1 manual testing hay chỉ test function dựa trên spec document thì hãy tìm cho mình một tool thích hợp nhất để tìm hiểu. Cách tốt nhất để làm quen với một công cụ thì hãy khám phá các tính năng của nó từ đơn giản nhất cho đến phức tạp. càng hiểu sâu bạn càng thích thú với nó. tool rất nhiều bạn có thể search tool for testing là ra cả đống =D

Nguyên tắc 7: Search for help in help section
Trong quá trình khám phá tìm hiểu bạn gặp một số lỗi thì hãy đọc phần Help của công cụ. Nó là một nguồn tuyệt vời và hướng dẫn trên mọi khía cạnh của việc sử dụng của công cụ. Khám phá kỹ để làm chủ công cụ hoàn hảo.

Nguyên tắc 8: Thực hành nhiều, nhiều hơn có thể

Hãy thử nghiệm nhiều lần như một quá trình xác nhận. Nó cho phép bạn để kết luận nếu đoạn code này là chức năng hay không. Kiểm tra nhiều lần và xem xét nó có cho ra kết quả mong muốn hay không? lặp lại nhiều lần như thế để xác nhận

Nguyên tắc 9: Cải tiến cách/ phương pháp làm việc của bạn

Tất cả những việc làm tốt có thể được thực hiện tốt hơn. Rà soát, phấn đấu để cải thiện dự án của bạn là một cách  để cải thiện kỹ năng của bạn và hướng bạn lên một tầm cao mới.


Nguyên tắc 10: Không phải lúc nào cũng cần đến tự động

Automated test là phương pháp hữu dụng và ấn tượng, thường được
sử dụng để giúp tiến hành test một cách hiệu quả. Tuy nhiên, automated test lại không phù hợp với tất cả các dự án. Nguyên nhân là do thiếu thời gian và thiếu kĩ thuật. Mất nhiều thời gian để tạo Automated test. Thời gian này phụ thuộc vào các tester. Để tạo automated test thì mất thời gian gấp 3-10 lần  so với việc chạy test bằng tay. Vì vậy, automated test sẽ chỉ được  chạy tương đương với lượng thời gian gấp 3-10 lần. bạn tìm hiểu và nắm rõ 2 trường hợp sau:
1. Automated test sẽ phù hợp cho những mục đích:
- Thực hiện test hồi quy cho 1 hệ thống ổn định chạy trên 1 cơ sở thường xuyên.
- Việc tạo dữ liệu xử lý nhanh trong các hệ thống test có cơ sở dữ liệu căn cứ trên 1 cơ sở thường xuyên.
2. Automated test KHÔNG phù hợp cho những mục đích sau:
- Thực hiện test chức năng mới – Việc này nên được làm bằng tay trước khi tạo automated test.
- Những hệ thống test hồi quy sẽ mang lại sự thay đổi giao diện người sử dụng quan trọng. Sự thay đổi lớn đối với giao diện người sử dụng cần nhiều sự bảo dưỡng duy trì cho automated test.
Khi tiến hành tự động hóa test, bạn nên chỉ tự động hóa các test mà nhóm của bạn có thể duy trì được dễ dàng. Nếu có vài test khó có thể duy trì thì phải cân nhắc để giảm các test đó.
Nói tóm lại, bạn hãy nhớ rằng automated test sẽ không bao giờ tìm ra được nhiều bug như 1 người tester tìm ra theo cùng các bước. Đó là bởi vì người tester có thể bắt được nhiều thứ bằng con mắt của mình.

Những quy tắc là không bắt buộc, nhưng chúng tương đối đơn giản hóa và rõ ràng. Sau đó sẽ giúp bạn cải thiện kỹ năng và trở thành một người kiểm thử tốt hơn.
Nếu bạn có nhận xét hay ý kiến thêm về vấn đề nào trong 10  nguyên tắc trên
hãy feedback cho mình qua mail thuyph910@gmail.com Thanks all.
Continue Reading →

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 →

translate

Hôm nay đọc gì

Lưu trữ

view

view