Nghiên cứu và cài đặt các công cụ kiểm thử PM tự động
Trang 1L/O/G/O Adnroid, ASP.net MVC
Nghiên cứu và cài đặt các công cụ kiểm thử
PM tự động
Trang 2Nội dung trình bày
Trang 3Đặt vấn đề
năm gần đây sự gia tăng của phần mềm cả về
số lượng theo chiều rộng và chất lượng phần mềm theo chiều sâu.
là những lỗi, hỏng hóc mà phần mềm gặp phải ngày càng nhiều.
phần mềm đang ngày càng được coi trọng
8/25/16
3NDQA
Trang 4Các giiai đoạn khác
JUnit
Trang 5Phần mềm và kiểm thử
Phần mềm: một tập hợp những câu lệnh hoặc chỉ
thị (Instruction) được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó.
Quy trình phát triển PM (Software Development / Engineering Process – SEP): một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm.(Wikipedia)
8/25/16
5NDQA
Trang 6Các quy trình phát triển PM
Mô hình Waterfall (Waterfall model)
Mô hình chữ V (V-model)
Các mô hình nhiều phiên bản (Multi-version models)
Mô hình mẫu (Prototype)
Mô hình tiến hóa (Evolutionary)
Mô hình lặp và tăng dần (Iterative and Incremental)
Mô hình phát triển ứng dụng nhanh (RAD)
Mô hình xoắn ốc(Spiral)
Mô hình phát triển dựa trên kiểm thử (Test Driven
Development-TDD)
8/25/16
6NDQA
Trang 7Test Driven Development-TDD
8/25/16
7NDQA
Trang 8Kiểm thử phần mềm
Khái niệm: hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho những người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy
Vai trò: đóng một vai trò quan trọng trong quy trình phát triển phần mềm thể hiện không chỉ qua chi phí dành cho khâu kiểm thử (luôn chiếm tới trên 40%) mà còn là nhân lực và thời gian để hoàn thành công đoạn này
8/25/16
8NDQA
Trang 9Input
Trang 10Các giai đoạn kiểm thử PM
Kiểm thử đơn vị (Unit test)
Kiểm thử tích hợp (Integrated Test)
Kiểm thử chấp nhận (Acceptance Test)
Kiểm thử hồi quy
Kiểm thử hệ thống (System test)
8/25/16
10
NDQA
Trang 11Kiểm thử tự động
Kiểm thử tự động là phương pháp sử dụng phần
mềm hay các công cụ để xử lý tự động các bước thực hiện test case mà không cần sự can thiệp của con người.
Quy trình kiểm thử tự động
8/25/16
11
NDQA
Trang 12Các công cụ kiểm thử tự động
Các phần mềm thương mại
HP Quick Test Professional
IBM Rational Rose
Trang 13Một số loại hình kiểm thử phổ biến
Kiểm thử các phần mềm trên Desktop
Kiểm thử Web hay kiểm thử trên đám mây
Kiểm thử trên SmartPhone
8/25/16
13
NDQA
Trang 14Kiểm thử trên web
8/25/16
14
NDQA
Trang 15Kiểm thử trên web
Khái niệm: Kiểm thử website là một thành phần trong kiểm thử phần mềm tập trung vào các ứng dụng web, là một trong những thành phần đang phát triển nhanh nhất của kiểm thử phần mềm
Mục đích của kiểm thử Website
Các thiết bị PC và PM ảnh hưởng như thế nào tới việc
Trang 16Kiểm tra hiệu năng (Performace Test)
Kiểm tra tính bảo mật và điều khiển truy cập (Security and access control testing)
Kiểm thử tính dùng được
8/25/16
16
NDQA
Trang 17Kiểm thử trên ASP.net MVC
ASP.net MVC
Một framework mã nguồn mở do Microsoft
phát triển để xây dựng các ứng dụng web
Mô hình Model-View-Controller
8/25/16
17
NDQA
Trang 18Kiểm thử trên ASP.net MVC
MVC framework được thiết kế để cho phép kiểm
thử mà không cần triển khai trên một Web Server (IIS), trên một cơ sở dữ liệu hay trên các class mở rộng khác (điều này hoàn toàn trái ngược với mô hình Web form truyền thống, luôn luôn yêu cầu cần
có một Web server)
Với sự hỗ trợ của công cụ mã nguồn mở là Nunit và
Unit Test tích hợp sẵn trong Visual Studio, việc kiểm thử trên các ứng dụng Asp.net MVC đã trở nên đơn giản hơn và thuận tiện cho các nhà phát triển phần mềm.
8/25/16
18
NDQA
Trang 19Kiểm thử trên SmartPhone
8/25/16
19
NDQA
Trang 20Kiểm thử trên SmartPhone
Các yếu tố ảnh hưởng đến hoạt động của phần mềm trên SmartPhone
Tuổi thọ của Pin
Trang 21Kiểm thử trên Android OS
Android OS: HĐH mã nguồn mở có nhân là Linux OS 2.6.0, chạy trên các thiết bị có
cấu hình phần cứng tương thích (Smart phone, Tablet, )
Trang 22Các thành phần và vòng đời ứng dụng
Các thành phần của một ứng dụng Android:
Trang 23Android Testing framework
8/25/16
23
NDQA
Trang 25Android Monkey runner
Công cụ kiểm thử tự động được tích hợp sẵn chạy dưới dạng dòng lệnh
Kiểm thử khả năng chịu tải (Street Test) của ứng dụng
adb -e shell monkey -p com.example.temperatureconverter -v -v 1000
Monkey runner sẽ gửi các sự kiện tới package của ứng dụng (-p) và sẽ hiển thị log trong Logcat dạng verbose manner(-v -v)
Số lượng các sự kiện ở đây là 1000
8/25/16
25
NDQA
Trang 26Acceptian Test và Behavior Driven Development (BDD)
BDD là một quy trình phát triển phẩn mềm dựa trên TDD, BDD kết hợp các nguyên lý, kĩ thuật chung của TDD với những ý tưởng từ domain-driven design (DDD, một cách tiếp cận phát triển phần mềm cho những yêu cầu phức tạp bằng cách thực thi các mô hình tiến hóa)
và phân tích thiết kế hướng đối tượng (OOAD) để cung cấp cho các nhà phát triển phần mềm và khách hàng một công cụ chung trong quy trình phát triển phần mềm.
BDD tiến hóa hơn TDD
8/25/16
26
NDQA
Trang 27Công cụ cộng tác phát triển phần mềm, một framework mã nguồn mở được tạo
ra cho việc kiểm thử
Kiến trúc
8/25/16
27
NDQA
Trang 28Một framework mã nguồn mở hỗ trợ BDD
Fitnesse kết hợp với GivWenThen giúp cho BDD dễ dàng hơn
Các bước trong GivWenThen
Giv: là các điều kiện tiên quyết cho testcase
Wen: miêu tả hành động của user
Then: kết quả của hành động
8/25/16
28
NDQA
Trang 29Kiểm thử hiệu năng
Tính thời gian thực thi của một hàm hay sự kiện nào đó
Sử dụng TraceView
8/25/16
29
NDQA
Trang 30Kiểm thử bằng Robotium
Một framework mã nguồn mở nhỏ gọn nhưng đầy mạnh mẽ và linh hoạt giúp cho việc kiểm thử tự động trên Android đơn
giản hơn rất nhiều
Trang 31Kết luận
Khái quát về phần mềm và kiểm thử
Các kĩ thuât, công cụ, giai đoạn kiểm thử PM
Kiểm thử trên web
Kiểm thử Smart Phone
Android OS
8/25/16
31
NDQA
Trang 32Thank you
8/25/16
32
NDQA