Uploaded by Nam Huỳnh

2020.KCPM.LQVU.Ke hoach seminar

advertisement
Kịch bản seminar
2020.KCPM.LQVU
Mã nhóm- Nội dung trình bày lý thuyết
Trình bày nội dung, hình ảnh liên quan đến phương pháp
Mã nhóm- Các công cụ dự định tìm hiểu
Trình bày nội dung, hình ảnh liên quan đến phương pháp
Mã nhóm- Nội dung dự kiến demo
Trình bày nội dung, hình ảnh liên quan đến phương pháp
Mã nhóm G1- Code Coverage là gì?
-Khái niệm: Code coverage là độ phủ các dòng code đã được chạy qua các test
case mà chúng ta đã viết. Cơ bản là xác định dòng code nào đã được thực thi,
dòng code nào không được thực thi thông qua quá trình chạy thử.
- Ý nghĩa của code coverage là đảm bảo các dòng code đã được chạy qua bởi
các test case, do đó nếu ta xác định mục tiêu các Unit sai, chia các case sai thì
vẫn sẽ có bug tồn tại, ở đây thường là các bug về logic, bug giữa các Unit với
nhau.
-Mục đích của Code Coverage là:
-Để kiểm tra các bài test của chúng đã thực sự tốt như thế nào.
-Để đảm bảo đã đủ các trường hợp hay chưa.
-Để duy trì chất lượng của dự án trong suốt vòng đời của dự án.
Mã nhóm G1- Các công cụ dự định tìm hiểu
1. dotCover( https://www.jetbrains.com/dotcover/ )
-Thông tin cơ bản về Tools: Phương pháp đánh giá độ bao phủ, định dạng báo cáo, hỗ trợ nền tảng
nào, ngôn ngữ hỗ trợ, giấy phép, thời hạn sử dụng miễn phí hay không? , đánh giá độ khó, ưu điểm,
nhược điểm…
1. EMMA( http://emma.sourceforge.net/ )
- Tương tự 1.
1. CodeCoverage Tools ( http://codecover.org/ )
- Tương tự 1.
Mã nhóm G1- Nội dung dự kiến demo
● Chọn 1 trong 3 Tools tìm hiểu:
-Hướng dẫn cài đặt công cụ
-Giới thiệu giao diện chính, các chức năng quan trọng.
-Hướng dẫn Import dữ liệu test, test case, tính năng cơ bản
-Thực hiện test đơn giản.
Mã nhóm D - Automation for Web
1. What is automated web testing?
- Automated Website Testing là một quá trình mà các công cụ kiểm thử phần mềm khác nhau được sử dụng
để đánh giá hiệu năng của website. Quá trình này diễn ra trong suốt giai đoạn phát triển phần mềm.
- Automated Website Testing đề cập đến the process of automating end-user scenarios trên các website để
kiểm tra hành vi của nó. These end-user scenarios are scripted by QAs using an automation framework like
Selenium to mimic user interactions on a website’s UI.
1. When & Why?
- Khi ứng dụng phức tạp và yêu cầu maintenance thường xuyên hay thậm chí là release tính năng mới.
- Bởi vì, sản phẩm phần mềm ngày càng tăng kích thước, khu vực phạm vi ảnh hưởng càng lớn với những
tính năng mới. Vì thế, quy trình manual testing cho toàn bộ ứng dụng lặp lại trên các thiết bị, platforms trở
nên cồng kềnh và dễ thiếu sót gây lỗi.
1. Benefits & Advantages
- Tiết kiệm thời gian, tăng tốc độ release và đảm bảo maximum test coverage with accurate results hơn.
- Cung cấp phạm vi kiểm tra toàn diện và hiệu quả hơn manual testing.
- Tìm và fix bug sớm giúp cho release sản phẩm nhanh hơn.
- Những test scripts có thể tái sử dụng
- Cung cấp kết quả test nhanh, nhất quán và chính xác.
Mã nhóm D - Các công cụ dự định tìm hiểu
1. Selenium - Demo
- Selenium là bộ kiểm thử tự động miễn phí (mã nguồn mở) dành cho các ứng dụng web trên các trình duyệt
và nền tảng khác nhau.
- Selenium không chỉ là 1 công cụ độc lập mà là 1 bộ công cụ của phần mềm, mỗi bộ đều đáp ứng được nhu
cầu kiểm thử khác nhau của 1 tổ chức. Nó có 4 thành phần: Selenium Integrated Development Environment
(IDE), Selenium Remote Control (RC), WebDriver và Selenium Grid.
- Có rất nhiều Selenium C# frameworks được sử dụng cho test automation như: NUnit, XUnit, Gauge,
MSTest, SpecFlow.
- Some of the advantages of using the NUnit framework:
+ It is a robust and user-extensible test framework.
+ Attributes are an important part of the NUnit framework and they are instrumental in speeding up the
execution of the test cases.
+ NUnit is open-source.
+ The framework is well-suited if you are planning to use Test-Driven Development (TDD) for the test activity.
+ Along with automated browser testing, NUnit framework can also be used for unit testing and acceptance
testing using the Selenium framework.
1. Watir
2. Cucumber
Mã nhóm D - Nội dung dự kiến demo
-
Giới thiệu sơ lược về công cụ mà nhóm tìm hiểu
Giới thiệu giao diện và các chức năng cần test của SUT - YasuoShop
Link website: http://shopshoeyasuo.herokuapp.com/
Demo môi trường, yêu cầu và một vài kịch bản test cơ bản.
Sử dụng Selenium IDE để record/play một chức năng nào đó như giở hàng.
Mã nhóm E1 - Kiểm thử tự động
What is Automation Testing?
Kiểm thử tự động là một kỹ thuật kiểm thử, trong đó sử dụng các công cụ đặc biệt để tự động hóa việc
thực thi các bộ Test case. Không giống với việc kiểm thử tự động, kiểm thử thủ công được thực hiện bởi
con người làm việc trước màn hình máy tính một cách cẩn thận để thực thi từng bước kiểm thử.
Phần mềm kiểm thử tự động cũng có thể nhập vào các bộ dữ liệu mẫu (test data) vào System Under Test
(SUT), so sánh kết quả dự kiến so với thực tế và tạo ra các bảng báo cáo chi tiết. Kiểm thử tự động yêu
cầu sự đầu tư đáng kể về tiền và tài nguyên.
Chu trình phát triển liên tục yêu cầu việc thực thi lặp lại các bộ test case giống nhau. Việc sử dụng các
công cụ kiểm thử tự động giúp chúng ta có thể ghi lại các bộ test và có thể lặp lại nếu có yêu cầu. Một khi
các bộ test được tự động hóa thì không cần đến sự can thiệp của con người. Điều đó có thể cải thiện
được Tỷ suất hoàn vốn (ROI - Returns of Investments) của việc kiểm thử tự động. Mục tiêu của việc kiểm
thử tự động là giảm bớt số lượng test case thủ công, tuy nhiên không thể loại trừ việc kiểm thử thủ công.
Mã nhóm E1 - Kiểm thử tự động (Cont’d)
Why Automated Testing?
Kiểm thử tự động là một trong những cách tốt nhất để gia tăng hiệu quả công việc, độ phủ sóng của các
test case, và tốc độ thực thi trong việc kiểm thử phần mềm. Kiểm thử phần mềm tự động thì quan trọng
bởi vì các lý do sau:
● Việc kiểm thử thủ công mọi luồng làm việc (workflows), tất cả các trường, tất cả các kịch bản xấu thì
tốn thời gian và tiền bạc.
● Việc kiểm thử thủ công cho các trang đa ngôn ngữ gặp nhiều khó khăn.
● Kiểm thử tự động không yêu cầu sự can thiệp của con người, việc kiểm thử tự động có thể thực
hiện xuyên suốt.
● Kiểm thử tự động gia tăng tốc độ của việc thực thi các test case.
● Việc kiểm thử tự động có thể giúp gia tăng độ phủ sóng của test case.
● Việc kiểm thử thủ công có thể gây ra sự nhàm chán, và gây ra các lỗi không mong muốn.
Mã nhóm E1 - Kiểm thử tự động (Cont’d)
Which Test Cases to Automate?
Những test case có thể tự động hóa có thể sử dụng các tiêu chí sau để có thể tăng tỷ suất hoàn vốn
(ROI)
● Các test case với rủi ro cao.
● Các test case được lặp lại nhiều lần.
● Các test case rất dài hoặc khó để có thể thực hiện.
● Các test case tốn nhiều thời gian.
Những loại test case không phù hợp với việc kiểm thử tự động
● Các test case mới được thiết kế và chưa thực thi lần nào.
● Các test case thường xuyên thay đổi yêu cầu.
● Các test case được thực thi theo phương pháp ad-hoc.
Mã nhóm E1 - Kiểm thử tự động (Cont’d)
Automated Testing Process
Quy trình kiểm thử tự động được thực hiện theo các bước sau
1. Chọn công cụ kiểm thử.
2. Xác định phạm vi của việc kiểm thử tự động.
3. Lên kế hoạch, thiết kế và phát triển.
4. Thực thi test.
5. Bảo trì.
Mã nhóm E1 - Kiểm thử tự động (Cont’d)
Framework cho kiểm thử tự động
Framework là một bộ chỉ dẫn có thể giúp đỡ trong việc
● Duy trì tính nhất quán của việc kiểm thử.
● Cải thiện cấu trúc của việc kiểm thử.
● Tối ưu hóa code.
● Giảm thiểu sự bảo trì code.
● Tăng tính tái sử dụng.
● Các tester bình thường có thể tham gia vào.
● Có thể giảm thiểu giai đoạn đào tạo để sử dụng các công cụ.
4 loại framework sử dụng trong kiểm thử tự động
● Data Driven Automation Framework.
● Keyword Driven Automation Framework.
● Modular Automation Framework.
● Hybrid Automation Framework.
Mã nhóm E1 - Kiểm thử tự động (Cont’d)
Benefits of Automation Testing
●
●
●
●
●
●
●
●
●
●
●
●
●
Nhanh hơn kiểm thử thủ công 70%.
Độ phủ sóng rộng hơn.
Độ tin cậy trong kết quả.
Đảm bảo tính nhất quán.
Tiết kiệm thời gian và tiền bạc.
Cải thiện độ chính xác.
Không cần sự can thiệp của con người trong lúc thực thi.
Tăng hiệu quả.
Tốc độ tốt hơn.
Tái sử dụng các test script.
Thường xuyên và rõ ràng hơn.
Có thể lưu trữ các chu trình.
Hoàn thành sớm hơn.
Mã nhóm E1 - Các công cụ dự định tìm hiểu
Katalon Studio
(Renarox Studio)
Mã nhóm E1 - Nội dung dự kiến demo
SUT: Ứng dụng Mattermost
Test Scenario:
1.
2.
3.
4.
5.
6.
Kiểm tra chức năng login
Kiểm tra thêm 1 server
Kiểm tra quản lý channel
Kiểm tra thêm 1 member vào channel
Kiểm tra chức năng nhắn tin hoạt động
Kiểm tra chức năng app setting hoạt động
Nhóm H - Nội dung trình bày lý thuyết
❖ Định nghĩa phương pháp kiểm thử (what):
➢ GUI testing: Graphical user interface- Kiểm tra đồ hoạ giao diện người dùng
➢ Browser Compatibility testing: Khả năng tương thích của trình duyệt, nghĩa là
trang web/ ứng dụng web đã được phát triển có hoạt động như mong đợi
trong bất kỳ trình duyệt nhất định nào hay không.
➢ Link checker: Kiểm tra link của trang web nào bị hỏng để tránh liên kết đến
các trang web không hợp lệ
➢ Usability and UX testing: kiểm tra đo lường mức độ dễ dàng và thân thiện
của một ứng dụng phần mềm, tập trung vào tính dễ sử dụng của người dùng,
tính linh hoạt của ứng dụng trong xử lý các điều khiển và khả năng ứng dụng
đáp ứng các mục tiêu của nó.
Nhóm H - Nội dung trình bày lý thuyết
❖ Tầm quan trọng (why): Giao diện rất quan trọng trong việc tăng sức hút của ứng
dụng với người dùng. Phương pháp kiểm thử này nhằm tìm ra các lỗi trên giao
diện phần mềm, khả năng tương tích với nhiều nền tảng, thiết bị và trình duyệt
khác nhau, tạo sự thân thiện với người dùng, để tăng cường trải nghiệm, sự hài
lòng của người dùng khi sử dụng ứng dụng.
❖ Thời điểm áp dụng (when):
➢ Trong quá trình phát triển phần mềm: Developers thực hiện
➢ Trước khi phát hành/bàn giao phần mềm: QA thực hiện
Nhóm H - Nội dung trình bày lý thuyết
❖ Đối tượng kiểm thử (Where): giao diện phần mềm
❖ Người thực hiện (Who): Developer, Tester và QA
❖ Phương thức thực hiện (How):
➢
➢
➢
➢
➢
➢
➢
➢
➢
Kiểm tra kích thước, vị trí, căn chỉnh của các thành phần trên giao diện
Kiểm tra những thông báo lỗi, cảnh báo
Kiểm tra các phần khác nhau của màn hình
Kiểm tra font chữ có dễ đọc được hay không, các lỗi sai chính tả
Kiểm tra trên các kích thước màn hình khác nhau
Kiểm tra kích thước, độ rõ nét, căn chỉnh của các hình ảnh
Kiểm tra các thanh cuộn dựa theo kích thước của màn hình
Kiểm tra các trường, hotkey, những thành phần bị vô hiệu
Kiểm tra sự tồn tại, cách thể hiện của các liên kết
Nhóm H - Các công cụ dự định tìm hiểu
❖ Cross browser testing tool: Lambda Test
❖ Link checker: Link Checker
❖ Usability and UX testing tool: Hot Jar
Nhóm H - Nội dung dự kiến demo
❖ Software under test: web app “Super Market”
❖ Kịch bản kiểm thử:
❖ Phân hệ guess
➢
➢
➢
➢
➢
➢
➢
➢
Test scenario 1: Kiểm thử giao diện trang chủ
Test scenario 2: Kiểm thử giao diện đăng nhập
Test scenario 3: Kiểm thử giao diện đăng ký
Test scenario 4: Kiểm thử giao diện khôi phục mật khẩu
Test scenario 5: Kiểm thử giao diện danh sách sản phẩm
Test scenario 6: Kiểm thử giao diện chi tiết sản phẩm
Test scenario 7: Kiểm thử giao diện giỏ hàng
Test scenario 8: Kiểm thử giao diện thanh toán
➢ Test scenario 9: Kiểm thử giao diện liên hệ
➢ Test scenario 10: Kiểm thử giao diện câu hỏi thường gặp (FAQs)
Nhóm H - Nội dung dự kiến demo
❖ Kịch bản kiểm thử (t.t):
❖ Phân hệ member
➢ Test scenario 1: Kiểm tra giao diện quản lý tài khoản
➢ Test scenario 2: Kiểm tra giao diện quản lý mua hàng
❖ Phân hệ admin
➢
➢
➢
➢
➢
Test scenario 1: Kiểm thử giao diện bảng điều khiển
Test scenario 2: Kiểm tra giao diện quản lý sản phẩm
Test scenario 3: Kiểm tra giao diện quản lý người dùng
Test scenario 4: Kiểm tra giao diện quản lý đơn hàng
Test scenario 5: Kiểm tra giao diện thống kê
❖ Demo:
Nhóm H - Demo Hotjar | Usability - UX testing tool
Nhóm H - Demo Link Checker
L1- Nội dung trình bày lý thuyết
❖ What - Định nghĩa?
➢ Cucumber là một Testing Tool hỗ trợ Sự phát triển của các luồng sự kiện (Behavior Driven
Development, viết tắt là BDD). Nó cung cấp một cách viết các bài Test mà bất kì ai cũng có
thể hiểu được như một văn bản tiếng Anh đơn giản sử dụng ngôn ngữ Gherkin.
➢ BDD (Phát triển theo hướng hành vi) Kiểm thử là một kỹ thuật phát triển phần mềm nhanh
nhẹn và là một phần mở rộng của TDD (Test Driven Development), tức là Phát triển theo
hướng kiểm tra.
➢ Gherkin là định dạng cho các thông số kỹ thuật của Cucumber. Nó là ngôn ngữ dành riêng
cho domain giúp mô tả hành vi (UI) mà không cần phải đi vào triển khai chi tiết.
❖ Why - Tại sao lại cần nó?
➢ Cucumber được viết theo một văn bản tiếng Anh đơn giản sử dụng ngôn ngữ Gherkin
➢ Trước khi có Gherkin, các vấn đề về giao tiếp và kiểm thử theo yêu cầu vô cùng khó khăn:
Từ ngôn ngữ nói → Ngôn ngữ lập trình → Ngôn ngữ test dễ gây lỗi không hiểu từ 1 trong 3.
➢ Sau khi có Gherkin, vấn đề về Kiểm thử theo yêu cầu được giải quyết một cách thống nhất
bằng ngôn ngữ có thể hiểu được (dễ hiểu) cho nhiều người dù không có trình độ chuyên môn
cao
L1 - Nội dung trình bày lý thuyết
❖ When - Thực hiện khi nào?
➢ Testing level: Acceptance testing
❖ Who - Ai sẽ thực hiện?
➢ Developer, Tester, BA, User
❖ Where - Đối tượng áp dụng?
➢ Các giao diện phần mềm
L1 - Nội dung trình bày lý thuyết
❖ How - Thực hiện như thế nào?
➢ Cucumber test cases được viết song song với quá trình phát triển phần mềm. Các test case
này được gọi là steps trong ngôn ngữ Gherkin.
➢ Đầu tiên Cucumber đọc các steps được viết bằng ngôn ngữ Gherkin trong feature file.
➢ Sau đó, nó tìm kiếm steps này trong step definition file (sẽ định nghĩa cách thức hoạt động và
assert các kết quả thu được để kiểm tra các step có hoạt động một cách chính xác hay
không). Nếu trùng khớp thì sẽ thực hiện chạy test case và cung cấp kết quả pass/fail sau khi
chạy xong.
➢ Ngoài ra Cucumber hỗ trợ một số các phương thức helper điển hình như hooks cho phép
chúng ta có thể thực các công việc nhất định tại một thời điểm thực thi các test case như
trước khi bắt đầu một Scenario hay sau khi kết thúc một Scenario, ...
L1- Các công cụ dự định tìm hiểu
❖ Cucumber: https://cucumber.io/docs/cucumber/
L1- Nội dung dự kiến demo
❖
❖
❖
❖
Giới thiệu sơ lược công cụ mà nhóm tìm hiểu
Hướng dẫn cài đặt và sử dụng công cụ
Giới thiệu giao diện chính, các chức năng quan trọng của web
Demo
❖ Link tham khảo: https://youtu.be/Y691be6IudM
Nhóm F2 - Performance Testing
★ Các khái niệm:
○ Performance Testing: kiểm tra hiệu năng, tốc độ, độ phản hồi, độ ổn định, độ tin cậy,... của
một phần mềm dưới môi trường làm việc nhất định.
○ Load Testing: kiểm tra khả năng hoạt động của ứng dụng khi người dùng load.
○ Stress Testing: kiểm thử ứng dụng dưới môi trường làm việc nặng để xem thử cách mà ứng
dụng xử lí tắc nghẽn hoặc dữ liệu lớn.
○ Endurance Testing: kiểm tra xem ứng dụng có thể xử lí load như mong đợi trong khoảng
thời gian dài.
○ Spike Testing: kiểm tra phản ứng của ứng dụng khi đột ngột tăng lượng load từ người dùng.
○ Volume Testing: kiểm thử phần mềm bằng nhiều khối lượng cơ sở dữ liệu khác nhau.
○ Scalability Testing: quyết định xem phần mềm có hiệu quả khi mở rộng để hỗ trợ tăng lượng
user load, lập kế hoạch bổ sung khả năng cho hệ thống.
★ Tiến trình:
Nhóm F2 - Các công cụ cho Performance Testing
1. Webserver Stress Tool:
Webserver Stress Tool là một ứng dụng kiểm thử HTTP-client/server được thiết kế để xác định vấn đề performance
của website hoặc web server làm cản trở trải nghiệm người dùng.
A.
B.
Công cụ có thể giả lập hàng trăm, hàng triệu HTTP request
Hỗ trợ nhiều loại testing: Performance Tests, Load Tests, Stress Tests, Ramp Tests,…
2. Jmeter performance testing tool:
Jmeter là một phần mềm cái mà có thể sử dụng để chạy thử nghiệm hiệu suất, thử nghiệm tại và thử nghiệm chức
năng của ứng dụng web. JMeter cũng có thể mô phỏng tải nặng trên máy chủ bằng cách tạo hàng tấn người dùng
ảo đồng thời lên máy chủ web.
3. LoadUI.
A.
B.
C.
Nhanh chóng tạo ra các bản kiểm thử tải.
Kiểm thử tốc độ và khả năng mở rộng, nhưng đổi mới của API trong vài giây.
Thực hiện kiểm thử trước hiệu năng của API trước khi đưa ra môi trường sản xuất.
Nhóm F2 - Kịch bản demo
Kịch bản: Test hiệu năng của trang web khi nhiều users truy cập cùng một lúc
Thực hiện:
B1: Thiết lập Test Plan:
-Tạo Thread mới và thiết lập users, rampup time, loop.
-Tạo các Sampler: HTTP Request để chỉ định các trang cần test load.
- Lưu lại test plan với định dạng jmx.
B2: Thực hiện bài Test:
- Mở CMD, cd đến thư mục chứa file jmeter.
- Thực hiện câu lệnh: jmeter -n -t [đường dẫn đến file .jmx] -l [đường dẫn đén file .csv] -f -e -o
[đường dẫn đến thư mục xuất file report]
Nhóm F2 - Kịch bản demo
Ví dụ câu lệnh: jmeter -n -t \APP\apache-jmeter-5.3\bin\LoadTests\loadtest.jmx -l \APP\apachejmeter-5.3\bin\LoadTests\report.csv -f -e -o \APP\apache-jmeter-5.3\bin\LoadTests\HTMLreport
Kết quả: màn hình cmd thực hiện, file report html: index.html
Link video demo: https://youtu.be/ZpHtl9wAZm0
K1 - Nội dung trình bày lý thuyết
WHAT - Khái niệm CI.
CI
làgiảm
Continuous
Nó
là phương
pháp
phát
phần
mềm
yêutích
cầuhợp
các
thành
viên
team
tích
hợp
việc
củahợp
họphát
thường
xuyên,
mỗi
ngày
íttriển
nhất
một
lần.hơn.
Mỗi
được
tự
động
(bao
gồmcông
cả Integration.
test)
nhằm
hiện
lỗi phát
nhanh
nhất
có
thể.
Cả
team
nhận
thấy
rằng
cách"build"
tiếp của
cận
này
thiểu
vấn
đề
tích
và
cho
phép
triển
phần
mềm
nhanh
WHY - Lý do CI:
○
○
○
○
Giảm thiểu rủi ro lỗi do được phát hiện sớm.
Giảm thiểu những quy trình thủ công lặp đi lặp lại, thay vì đó là build tự động, chạy test tự
động.
Tạo ra phần mềm chất lượng sớm nhất có thể và sẵn sàng triển khai mọi lúc mọi nơi.
Cải thiện chất lượng phần mềm.
K1 - Nội dung trình bày lý thuyết
WHAT - Khái niệm CD.
Trong
khi
Continuous
quy
trình
đểNhững
build
và
test
tựrelease
động,
thì
Continuous
Delivery
(tạm
dịch
làkhi
chuyển
giao
liênIntegration
tục)
lại
nâng
cao
hơn
một
chút,
bằng
khai
tất testing,
cả
đổi
về
code
(đã
được
build
và
test)
đến
môi
trường
testing
hoặc
staging.
Continuous
Delivery
chothay
phép
developer
tự
động
hóa
phần
testing
bên
cạnh
việc
sử
dụng
unit
test,
kiểm
tratriển
phần
mềm
qua
nhiều
thước
đo
trước
triển
khai
cho
khách
hàng
bài
testcách
này
bao
gồm
UI
load
testing,
integration
testing,
API
testing...
Nólà(production).
tự
động
hoàn
toàn
quy
trình
phần
mềm.
WHY - Lý do sử dụng CD:
○
○
Việc test trước khi triển khai lên môi trường production là tự động do đó tiết kiệm được
chi phí và thời gian xử lý công việc.
Nâng cao tốc độ triển khai , hiệu quả và liên tục khi có thêm các update mới.
K1 - Nội dung trình bày lý thuyết
WHO - Người thực hiện CI/CD: Devops.
WHEN - Thực hiện khi nào: Trong suốt quá trình dự án cho tới khi deploy Production.
WHERE - Thực hiện ở đâu:
K1 - Các công cụ tìm hiểu
Jenkins là một phần mềm tự động hóa, mã nguồn mở được viết bằng Java, đóng vai trò máy chủ build & test của hệ thống tích hợp liên tục.
- Là trái tim của CI - Là CI server (build & test server) giữ vị trí trung tâm
“trái tim” cho mọi hoạt động của hệ thống .
- CI giúp khép kín quy trình phát triển phần mềm một cách tự động.
+ Nhờ vào việc hỗ trợ đa nền tảng, công nghệ Jenkins giúp khép kín
quy trình phát triển phần mềm một cách tự động theo mô hình Agile nói
chung và hệ thống tích hợp liên tục nói riêng.
+ Với hơn 400 plugin và được phát triển thêm không ngừng Jenkins
đã trở thành trợ thủ đắc lực cho hệ thống CI.
- Dễ dàng cài đặt và sử dụng.
- Đa nền tảng.
- Hỗ trợ cho nhiều công nghệ phát triển phần mềm
- Được sử dụng rộng rãi.
- Dễ mở rộng.
- Dễ dàng liên kết với các công cụ khác của hệ thống tích hợp liên tục
thông qua các plug in.
- Miễn phí.
Travis CI là một dịch vụ tích hợp liên tục được lưu trữ được sử dụng để xây dựng và kiểm tra các dự án phần mềm được lưu trữ tại GitHub và
Bitbucket.
Travis CI là một công cụ CI tuyệt vời, dễ sử dụng. So với Jenkins thay vì
phải thiết lập server, TravisCI cung cấp dịch vụ web với UI bắt mắt, dễ
dàng setup hơn, thích hợp cho các project nhỏ. Tuy nhiên, với các
project lớn hơn, Jenkins lại khẳng định mình qua kho tính năng khổng lồ
với các plugin độc đáo, đồng thời config được nhiều hơn là config qua
file .yaml như TravisCI.
Tóm tắt: https://www.guru99.com/jenkins-vs-travis.html
- Travis CI rất nhanh chóng và đơn giản để thiết lập
- Nó tích hợp hoàn hảo với GitHub
- Giúp các dev phát hiện nhanh lỗi phát sinh và đối ứng kịp thời
- Cho phép bạn kiểm tra trên hệ điều hành Mac và Linux cùng một lúc
- Lưu trữ trên đám mây
- Cho phép test trên nhiều môi trường, thiết bị, hệ điều hành
- Các dự án mã nguồn mở không giới hạn với đầy đủ chức năng
K1 - Nội dung dự kiến demo
- Hướng dẫn cài đặt công cụ
- Giới thiệu công cụ và các chức năng
- Demo Unit Test , SCM, Auto Build
Nhóm F1 - Performance Testing
Performance Testing là gì? (WHAT)
●
Performance Testing- Kiểm thử hiệu năng là kiểm tra về tốc độ, thời gian phản hồi, độ tin cậy, sử dụng tài
nguyên, khả năng mở rộng của một chương trình phần mềm. Mục đích của Kiểm tra hiệu năng không
phải là tìm ra các lỗi chức năng mà là để loại bỏ các tắc nghẽn về hiệu suất trong phần mềm hoặc thiết bị.
Tại sao cần sử dụng Performance Testing? (WHY)
●
●
●
●
Hiệu năng của một ứng dụng phần mềm như thời gian phản hồi, độ tin cậy, sử dụng tài nguyên và khả
năng mở rộng của nó rất quan trọng.
Kiểm thử hiệu năng được thực hiện để cung cấp cho các bên liên quan thông tin ứng dụng về tốc độ, tính
ổn định và khả năng mở rộng. Nếu không có kiểm thử hiệu năng, phần mềm có thể gặp phải các vấn đề
như: chạy chậm trong khi một số lượng người dùng nhất định sử dụng đồng thời, sự không nhất quán
trên các hệ điều hành khác nhau và khả năng sử dụng kém.
Kiểm thử hiệu năng sẽ xác định xem phần mềm của họ có đáp ứng các yêu cầu về tốc độ, khả năng mở
rộng và độ ổn định theo dự kiến hay không.
Kiểm tra hiệu năng để đảm bảo ứng dụng chạy trong một thời gian dài mà không bị sai lệch.
Nhóm F1 - Performance Testing
Các loại Performance Testing :
●
●
●
●
●
●
Load testing: tìm ngưỡng capacity của server để xác định ngưỡng có thể
chịu tải được của hệ thống.
Stress testing: liên quan đến việc kiểm tra một ứng dụng trong một khối
lượng công việc cực lớn để xem cách nó xử lý lưu lượng truy cập cao
hoặc xử lý dữ liệu như thế nào. Mục tiêu là xác định "breaking point" của
một ứng dụng ( làm cho hệ thống chết không phản hồi được nữa)
Endurance testing: được thực hiện để đảm bảo phần mềm có thể xử lý
tải dự kiến trong một khoảng thời gian dài.
Spike testing: kiểm tra phản ứng của phần mềm đối với các đột biến do có 1 lượng tải lớn từ người dùng
trong một khoảng thời gian ngắn.
Volume testing: Kiểm tra khả năng chịu tải của phần mềm với một lượng dữ liệu nhất định( thường là
ngưỡng do spec mong muốn từ đầu).
Scalability testing: Mục tiêu của kiểm tra khả năng mở rộng là xác định tính hiệu quả của ứng dụng phần
mềm trong việc "nhân rộng" để hỗ trợ tăng tải người dùng. Nó giúp lập kế hoạch bổ sung khả năng đáp ứng
của hệ thống với nhu cầu tăng dần.
Nhóm F1 - Performance Testing
Nhóm F1 - Các công cụ dự định tìm hiểu
●
K6:
k6 là công cụ kiểm tra tải mã nguồn mở hiện đại cung cấp trải nghiệm xuất sắc cho nhà phát triển để kiểm
tra hiệu suất của các API và trang web. Đây là một công cụ CLI có nhiều tính năng và dễ sử dụng với các
trường hợp thử nghiệm được viết bằng ES5.1 JavaScript và hỗ trợ các giao thức HTTP / 1.1, HTTP / 2 và
WebSocket.
●
WebLOAD:
Công cụ kiểm tra hiệu suất và tải cấp doanh nghiệp cho các ứng dụng web. WebLOAD là công cụ được
lựa chọn cho các doanh nghiệp có lượng người dùng lớn và các yêu cầu kiểm tra phức tạp. Nó cho phép
thực hiện kiểm tra tải và trên bất kỳ ứng dụng internet nào bằng cách tạo tải từ đám mây và các máy tại
chỗ.
●
Smartmeter.io:
Có thể tạo các kịch bản thử nghiệm mà không cần tập lệnh chỉ bằng cách nhấp vào trình duyệt được
nhúng. Cũng không cần thiết lập proxy hoặc plugin trình duyệt. Nó có các báo cáo được tạo tự động với tất
cả các chi tiết về thử nghiệm và kết quả của nó.
Nhóm F1 - Nội dung dự kiến demo
-
Công cụ: K6
Nội dung:
1. Giới thiệu K6
2. Hướng dẫn cài đặt
3. Demo load testing
4. Demo stress testing
Nhóm B1 - Database testing (Unit test for Database)
Nội dung trình bày lý thuyết
1. Database testing là gì ?
Kiểm thử cơ sở dữ liệu là là một loại kiểm thử phần mềm giúp kiểm tra xác minh dữ liệu, sự
liên kết các bảng , các trigger ,việc hiển thị dữ liệu từ database lên giao diện ...
2. Quy trình kiểm thử cơ
sở dữ liệu ?
Nhóm B1 - Database testing (Unit test for Database)
Nội dung trình bày lý thuyết
3. Vì sao cần phải thực hiện database testing ?
I. Đảm bảo tính thống nhất của dữ liệu (Data mapping)
Xác định dữ liệu của một bảng này tương ứng với dữ liệu nào trong bảng khác. Vấn đề này có ý
nghĩa quan trọng: Di chuyển dữ liệu, Phân tích dữ liệu, Hợp nhất các dữ liệu.
I. Đảm bảo các thuộc tính ACID (ACID properties)
Tính nguyên tố (Atomicity), Tính nhất quán (Consistency), Tính độc lập (Isolation), Tính bền
vững (Durability)
-> Đảm bảo các tính chất ACID để tránh trường hợp dữ liệu tại các bước của một thao tác
không khớp, không liên kết với nhau dẫn đến tình trạng thất thoát hoặc sai dữ liệu.
I. Đảm bảo tính toàn vẹn dữ liệu (Data Integrity)
Duy trì tính chính xác và nhất quán của dữ liệu, ngăn chặn những truy cập trái phép.
Kiểm thử cơ sở dữ liệu giúp đảm bảo các giá trị dữ liệu và thông tin nhận được, lưu trữ vào cơ
sở dữ liệu có hợp lệ hay không, giúp hạn chế mất dữ liệu.
Nhóm B1 - Database testing (Unit test for Database)
Nội dung trình bày lý thuyết
4. Các loại database testing ?
●
●
●
Kiểm thử cấu trúc CSDL(Structural Database Testing): kiểm tra tất cả các phần tử bên trong
CSDL, được sử dụng cho việc lưu trữ dữ liệu, không cho phép người dùng cuối thao tác trực tiếp.
Các truy vấn SQL được sử dụng để kiểm thử trong việc kiểm thử cấu trúc.
Kiểm thử chức năng (Functional Database Testing : kiểm tra các yêu cầu chức của 1 database
trên phương diện người dùng. Mục đích chính của việc này là khi người dùng thực thi một hoạt
động nào đó liên quan đến database thì database thay đổi đúng như mong đợi hay không.
Kiểm thử phi chức năng (Non-Functional Database Testing): phân loại thành các loại khác
nhau: load testing, Stress Testing, Security Testing, Usability Testing, và Compatibility Testing,...
Nhóm B1 - Database testing (Unit test for Database)
Các công cụ dự định tìm hiểu
Chức năng
đặc trưng
Redgate
Mockup Data
NoSQLUnit
-Test SQL bằng framework
tSQL
-Xem và lưu trữ procedure
và function.
-Lưu trữ database trong 1
schema -Cho phép thực
hiện unit test cho SQL
Server
- Công cụ giúp người dùng chỉ
cần thêm cột trước khi kiểm tra
kết quả.
- Là một công cụ nhẹ (~10MB)
hỗ trợ xem trước tự động và tức
thì lên đến 10 records.
- Nhanh chóng tạo ra một lượng
lớn dữ liệu và kiểm tra nhiều
bảng cùng một lúc để tìm mối
quan hệ cùng với các khóa ngoại.
- Tạo file CSV và database với dữ
liệu thực tế.
- Thực hiện Unit test trên
NoSQL database
-Công cụ open-source cài đặt
như một JUnit extension sử
dụng để Test trên ứng dụng
JAVA sử dụng NoSQL
database
- Quản lý lifecycle của NoSQL
Server
https://www.redgate.com/
http://www.mockupdata.com/
https://github.com/lordofthe
jars/nosql-unit
Nhóm B1 - Database testing (Unit test for Database)
Nội dung dự kiến demo
Nhóm B2 - Nội dung trình bài lý thuyết
1. DB Generation tool là gì
Là các công cụ chuyên dụng để tạo ra các bộ dữ liệu giả để sử dụng trong
trong quá trình kiểm thử phần mềm. Dữ liệu này phải tuân theo các điều kiện,
được chỉ định cho kịch bản thử nghiệm mà dữ liệu sẽ được sử dụng.
2. Phân loại DB Generation tool
Nhóm B2 - Nội dung trình bài lý thuyết
3.
Chức năng
4.
So sánh các công cụ phổ biến
5.
Giới thiệu công cụ demo
Nhóm B2 - Các công cụ tìm hiểu
❏ Redgate Data Generator
❏ DTM DB Generator
Nhóm B2- Nội dung DEMO
Công cụ lựa chọn
Liên kết DB
Tạo 1 Table
Tạo các column
Generate data cho các column(random, từ danh sách các giá trị cho trước, từ
field data có sẵn, …)
5. Save
1.
2.
3.
4.
Team L2 - Content
1.
1.
1.
-
Cucumber ?
Cucumber, testing framework hỗ trợ Behavior Driven Development (BDD), cho phép người dùng định nghĩa hành vi
hệ thống với ngữ nghĩa tiếng anh thông qua cú pháp Gherkin và tìm hiểu thêm nhiều khác niệm nâng cao.
Gherkin syntax ?
Cú pháp gherkin chia thành 3 thành phần chính là Feature, Scenario và step: Feature -> Scenario -> step -> key: Give,
when, then, ...
Anti-Pattern?
Một vài anti-pattern cần tránh trong quá trình viết script test:
Writing the scenario after you’ve written the code.
BA/Product Owner creating scenarios in isolation.
Incidental details.
Devs or testers writing scenarios without talking to business people.
Scenario with either a bad name or no name at all.
Too high level.
Lots of user interface details.
No clear separation between Given, When, and Then
Team L2 - Tool
Công cụ nhóm dự định tìm hiểu: Cucumber
Cucumber là một công cụ kiểm thử phần mềm miễn phí, hỗ trợ Behavior Driven Development (BDD).
· Nó thực thi các câu lệnh bằng một ngôn ngữ logic với cú pháp như ngôn ngữ nói thông thường mà khách
hàng có thể hiểu - ngôn ngữ thô Gherkin.
·
· Plugin của Cucumber hoạt động nhanh hơn so với các công cụ khác như HP ALM hay Selenium.
· Cucumber framework hỗ trợ các ngôn ngữ như Java, Scala, Groovy
· Cài đặt Cucumber theo hướng dẫn tại: https://viblo.asia/p/huong-dan-su-dung-tool-automation-cucumberE375zb2j5GW
Team L2 - Demo
Cucumber là một tool kiểm thử tự động
Công việc: test hành vi của phần mềm dựa trên việc thực thi các functions được mô tả dướng dạng plain-text.
Kịch bản tường minh: So sánh tính hiệu quả của các đoạn script trên từng UI
Tiêu chuẩn để so sánh: dựa trên các yếu tố cơ bản và tìm hiểu về kinh nghiệm của các test chuyên nghiệp
Dự kiến demo:
Đối tượng kiểm thử: Giao diện phần mềm
Người thực hiện: Developer và Tester
Kế hoạch tổng quan: Kiểm thử tất cả phần giao diện của phần mềm
Nhóm A2 - Automation for mobile apps
WHAT: là khi tester viết kịch bản và sử dụng những công cụ hỗ trợ để kiểm thử phần mềm
WHY:
-
Tiết kiệm thời gian, tiền bạc
Có thể kiểm thử các trang web, phần
mềm đa ngôn ngữ dễ hơn
-
Giảm sự nhàm chán do sự lặp lại của
kiểm thử thủ công
Tăng phạm vi kiểm thử
WHEN:
Dự án
-
Lớn và trọng điểm
Yêu cầu kiểm thử thường xuyên
Kiểm tra tính ổn định của phần mềm
Tính khả dụng của thời gian
Test cases
-
Rủi ro cao
Thực hiện nhiều lần
Khó thực hiện thủ công
Tốn thời gian
Nhóm A2 - Automation UI mobile testing
1. What
Kiểm tra màu sắc, phong cách Menu, nhất quán của giao diện người dùng trên các thiết bị
khác nhau
Kiểm tra sự phản hồi của ứng dụng đối với các thao tác của người dùng lên UI
1. Why
-
-
Giảm thiểu tình trạng bug đã fix rồi quay
trở lại
Hỗ trợ test các View Controller
-
Như một loại tài liệu của ứng dụng
Đem lại trải nghiệm trực quan khi sử
dụng ap
1. Doc
https://viblo.asia/p/gioi-thieu-ve-ui-testing-trong-ios-Az45bN0N5xY
Nhóm A2
Các công cụ dự định tìm hiểu
1. Appium
2. Expresso
Nhóm A2 - Công cụ Appium
Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động các native app, mobile web app,
và hybrid app trên nền tảng iOS và Android. Hỗ trợ kiểm thử phần mềm tự động hóa trên trình mô phỏng
hoặc giả lập và các thiết bị di động vật lý
Ưu điểm
●
●
●
●
Đa nền tảng
Hỗ trợ nhiều ngôn ngữ lập trình, tùy chọn
các framework testing
Cung cấp API ổn định
Chuyển đổi linh động giữa nội dung ứng
dụng gốc và nội dung web
Khuyết điểm
●
●
●
●
Không hỗ trợ cho Android API level < 17
(Android < 4.2)
Chạy script rất chậm trên platform iOS
Hỗ trợ hành động cử chỉ có giới hạn
Không hỗ trợ Toast message.
Nguồn tham khảo:
https://saucelabs.com/resources/articles/mobile-testing-tools
Nhóm A2 - Công cụ Espresso
Espresso là một “Open source Android UI Testing Framework” được phát triển bởi Google để viết
các bài Android UI test ngắn gọn, hiệu quả, linh hoạt, đẹp mắt và đáng tin cậy. Các UI test trực tiếp cùng
với code của ứng dụng và có thể có quyền truy cập vào code được chia sẻ. Là một phần của Android SDK
và có thể dễ dàng sử dụng để phát triển một native app.
Ưu điểm
Khuyết điểm
1/ Ổn định cao, tốc độ nhanh.
2/ Quy trình đơn giản, phản hồi nhanh chóng.
3/ API nhỏ gọn
4/ Thiết lập và tích hợp dễ dàng với
Android Studio.
5/ Mọi người đều có thể sử dụng.
1/ Giới hạn về ngôn ngữ.
2/ Chỉ tương thích với Android.
Hướng dẫn sử dụng: https://saucelabs.com/resources/articles/using-espresso-to-test-mobileapplications-in-android-studio
Nhóm A2 - Kịch bản demo
● Đối tượng kiểm thử (Where): Giao diện phần mềm
● Người thực hiện (Who): Developer, Tester và QA
● Phương thức thực hiện (How):
○
○
○
○
○
○
○
Test scenario 1: Kiểm thử giao diện màn hình thêm thu chi
Test scenario 2: Kiểm thử giao diện thêm hóa đơn
Test scenario 3: Kiểm thử giao diện chi tiết thu chi
Test scenario 4: Kiểm thử giao diện danh sách hóa đơn
Test scenario 5: Kiểm thử giao diện báo cáo
Test scenario 6: Kiểm thử giao diện thống kế
Test scenario 6: Kiểm thử giao diện chào mừng
Nhóm N - Mock Object for API Testing
❖ Mock Object for API Testing là gì?
➢ Mocking: thuật ngữ này dùng để chỉ hành động tạo ra các thành phần mô phỏng một đối
tượng nào đó. Mà trong “API Mocking” đối tượng chính là các API. Tóm lại Mock Object for
API Testing là tạo ra các đối tượng mô phỏng API thực tế để sử dụng cho việc kiểm thử API.
❖ Tại sao chúng ta phải Mocking API?
➢ Như chúng ta thấy API là phương thức để truyền tải dữ liệu giữa các thành phần, nhưng trong quá
trình phát triển phần mềm thực tế việc sử dụng API của bên thứ ba có thể gặp một số vấn đề sau:
■ Bên thứ ba không có hoặc không cung cấp hệ thống test cho chúng ta.
■ Bên thứ 3 đang phát triển API song song với chúng ta hoặc chưa hoàn thành API cho chúng ta
sử dụng.
■ Không thể gọi API thật để test: gặp vấn đề về chi phí và bảo mật.
■ Gọi service của bên thứ ba để viết Unit Test rất chậm và đôi khi service của họ die dẫn đến
Unit Test của chúng ta failed không mong muốn.
Nhóm N - Mock Object for API Testing
❖ Mocking API được sử dụng khi nào?
➢ Mocking API có thể sử dụng trong quá trình phát triển phần mềm và cả quá trình kiểm thử.
❖ Ai là người sử dụng Mocking API?
➢ Cả lập trình viên và tester.
❖ Xây dựng Mocking API ở đâu?
➢ Tự xây dựng fake API ở local host bằng kiến thức web cơ bản.
➢ Ta có thể sử dụng các các công cụ ảo hóa dịch vụ có sẵn trên thị trường như postman,...
❖ Mocking API được sử dụng trong các trường hợp nào?
➢
➢
➢
➢
➢
Mocking trong quá trình phát triển phần mềm
Mocking để thực hiện functional Test
Mocking để thực hiện non - functional Test
Mocking các External Components
Mocking để DEMO sản phẩm
Nhóm N - Các tool dự định tìm hiểu
1. Postman
2. MockAPI ( https://mockapi.io/ )
3. Insomnia (https://insomnia.rest/)
Nhóm N - Kịch bản DEMO
● Giới thiệu và hướng dẫn cài đặt công cụ
● Sử dụng công cụ để xây dựng 1 mocking API cơ bản
● Kết hợp Mocking API đó vào product under testing để hoàn thành 1 vòng API
testing.
Nhóm C1- Nội dung trình bày lý thuyết
❖ Automation test for web
Nhóm C1- Công cụ tìm hiểu
-
Selenium
Nhóm C1- Kịch bản demo
-
Chức năng đăng nhập của 1 trang web nào đó
Viết script kiểm thử một chương trình web kiểm tra tam giác đơn giản mà
nhóm đã làm ra
Automation for Mobile Apps
Nhóm trình bày: A1
Ngày: 24/11/2020
A1- Automation for Mobile Apps
1. Automation for Mobile Apps là gì?
-
Là sử dụng công cụ hỗ trợ chạy tự động để thay thế các thao tác testing bằng tay góp
phần nâng cao năng suất kiểm thử và giảm thiểu lỗi
1. Lợi ích
-
Tiết kiệm thời gian, thay thế Tester làm đi làm lại những quy tắc kiểm thử nhàm chán.
Cho ra kết quả cao, ổn định và tránh được những rủi ro có thể phát sinh, ngoài ra còn
có thể phát hiện bug một cách hiệu quả.
Làm giảm rủi ro về chất lượng sản phẩm, việc kiểm thử được diễn ra nhanh chóng và
không nhàm chán.
Giúp Tester chạy được nhiều case, tốc độ xử lý cực kì nhanh.
Việc rút ngắn thời gian và không tốn nhiều nhân lực giúp giảm thiểu chi phí.
A1- Các công cụ dự định tìm hiểu
-
Robotium
Appium
A1- Robotium
1. Robotium là gì?
-
-
Robotium là một công cụ viết bằng mã nguồn mở dùng để kiểm thử hộp xám tự động
dành cho các ứng dụng trên điện thoại hệ điều hành android. Với sự hỗ trợ của
Robotium, chúng ta có thể viết các test case về test chức năng, hệ thống, và
acceptance test scenarios, bao phủ các tính năng của Android.
Robotium thể được sử dụng cả cho các ứng dụng test sử dụng mã nguồn có sẵn và
các ứng dụng mà chỉ có sẵn file apk.
A1- Robotium
2. Ưu và nhược điểm
Ưu điểm
-
-
Dễ viết, code ngắn hơn.
Xử lý tự động nhiều hoạt động Android. Độ
khó của test case được cải thiện.
Tự động định thời và độ chậm trễ.
Tự động hoạt động theo quy trình hiện tại.
Tự động đưa ra quyết định riêng của mình.
Tự động tìm kiếm lượt xem.
Thực hiện test nhanh.
Test case được phát huy mạnh mẽ hơn do
thời gian chạy liên kết với các thành phần
GUI. Tích hợp thông suốt với Maven hoặc
Ant.
Nhược điểm
-
-
-
Robotium không thể xử lý Flash hoặc các
thành phần Web.
Nó chỉ kiểm soát một ứng dụng tại một
thời điểm
Nó không thể mô phỏng cách nhấp vào
bàn phím mềm(cần phải sử dụng
'enterText()' để nhập văn bản vào một
trường EditText).
Robotium không thể tương tác với Status
Bar Notifications - Đó là, kéo xuống khu
vực thông báo và nhấp chuột vào một
thông báo cụ thể.
Có thể chạy chậm, đặc biệt là chạy trên
các thiết bị cũ
A1- Appium
1. Appium là gì?
-
Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động các native
app, mobile web app, và hybrid app trên nền tảng iOS và Android.
Nó hỗ trợ các ứng dụng iOS, Android và Windows bằng giao thức WebDriver.
Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử dụng API giống nhau để
viết test cho các nền tảng khác nhau (iOS và Android).
Appium hỗ trợ kiểm thử tự động phần mềm trên cả emulator, simulator và devices
A1- Appium
2. Ưu và nhược điểm
Ưu điểm
-
-
-
Appium giúp kiểm thử hồi quy mobile app
một cách dễ dàng, đặc biệt là đối với những
ứng dụng di động lớn liên tục được phát
triển thêm các tính năng và chức năng mới.
Appium hỗ trợ đa ngôn ngữ và nền tảng
như sau: Hỗ trợ đa nền tảng: Android, iOS,
FirefoxOS Hỗ trợ đa ngôn ngữ: Java,
Objective-C, JavaScript with Node.js, PHP,
Python, C#, Clojure, Perl
Đa nền tảng
Nhược điểm
-
Không hỗ trợ cho Android API level < 17,
tức là Android < 4.2
Chạy script rất chậm trên platform iOS
Hỗ trợ hành động cử chỉ có giới hạn
Không hỗ trợ Toast message
A1- Nội dung dự kiến demo
● Kiểm tra tự động Robotium cho Android
- Ứng dụng: ZCalculator (ứng dụng tính kết quả phép tính cộng
và trừ từ 2 số nhập vào)
Download