Slide đồ án kiểm thử PM

32
L/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

Transcript of Slide đồ án kiểm thử PM

Page 1: Slide đồ án kiểm thử PM

L/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

Page 2: Slide đồ án kiểm thử PM

05/02/20232 NDQA

Nội dung trình bàyĐặt vấn đềKhái quát về phần mềm và kiểm thử

phần mềmCác khái niệm, kĩ thuật kiểm thử PMKiểm thử PM tự độngKiểm thử WebKiểm thử SmartPhone (Android OS)Kết luận

Page 3: Slide đồ án kiểm thử PM

05/02/20233 NDQA

Đặt vấn đề Sự bùng nổ của công nghệ thông tin trong những

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.

Cùng với sự phát triển của phần mềm kèm theo đó là những lỗi, hỏng hóc mà phần mềm gặp phải ngày càng nhiều.

Công tác kiểm thử trong các quy trình phát triển phần mềm đang ngày càng được coi trọng

Page 4: Slide đồ án kiểm thử PM

05/02/20234 NDQA

Đặt vấn đề Những khó khăn trong kiểm thử phần mềm

Tốn nhiều chi phí (40%) Không hiệu quả nếu làm thủ công

Giải pháp Sử dụng các công cụ kiểm thử tự động Áp dụng các quy trình phát triển phần mềm mới như

TDD hay BDD Chi phí sản xuất PM

Kiểm thử phần mềmCác giiai đoạn khác

JUnit

Page 5: Slide đồ án kiểm thử PM

05/02/20235 NDQA

Phầ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)

Page 6: Slide đồ án kiểm thử PM

05/02/20236 NDQA

Các quy trình phát triển PMMô 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)

Page 7: Slide đồ án kiểm thử PM

05/02/20237 NDQA

Test Driven Development-TDD

Page 8: Slide đồ án kiểm thử PM

05/02/20238 NDQA

Kiểm thử phần mềmKhá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.

Page 9: Slide đồ án kiểm thử PM

05/02/20239 NDQA

Các kĩ thuật kiểm thử phần mềm

BBT OutputInput

WBTApplication code

OutputInput

GBT OutputInput

Page 10: Slide đồ án kiểm thử PM

05/02/202310 NDQA

Các giai đoạn kiểm thử PMKiể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)

Page 11: Slide đồ án kiểm thử PM

05/02/202311 NDQA

Kiểm thử tự độngKiể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

Page 12: Slide đồ án kiểm thử PM

05/02/202312 NDQA

Các công cụ kiểm thử tự độngCác phần mềm thương mại

HP Quick Test Professional IBM Rational Rose ...

Các công cụ mã nguồn mở xUnit (Nuint, Junit,...) Robotium Android Monkey Runner

Page 13: Slide đồ án kiểm thử PM

05/02/202313 NDQA

Một số loại hình kiểm thử phổ biến

Kiểm thử các phần mềm trên DesktopKiểm thử Web hay kiểm thử trên đám

mâyKiểm thử trên SmartPhone

Page 14: Slide đồ án kiểm thử PM

05/02/202314 NDQA

Kiểm thử trên web

Page 15: Slide đồ án kiểm thử PM

05/02/202315 NDQA

Kiểm thử trên webKhá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

KT? Các thành phần của ứng dụng web có ảnh hưởng gì

tới chiến lược KT Làm thế nào để kiểm thử một phần mềm trên

server ?

Page 16: Slide đồ án kiểm thử PM

05/02/202316 NDQA

Các phương pháp testingKiểm tra các chức năng, luồng nghiệp

vụ (Functional Test)Kiểm tra giao diện người dùng (User

Interface Test)Kiể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

Page 17: Slide đồ án kiểm thử PM

05/02/202317 NDQA

Kiểm thử trên ASP.net MVCASP.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

Page 18: Slide đồ án kiểm thử PM

05/02/202318 NDQA

Kiểm thử trên ASP.net MVCMVC 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.

Page 19: Slide đồ án kiểm thử PM

05/02/202319 NDQA

Kiểm thử trên SmartPhone

Page 20: Slide đồ án kiểm thử PM

05/02/202320 NDQA

Kiể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 Kết nối mạng Sự khác nhau giữa các thiết bị và phần mềm cài trên

từng thiết bị này Giới hạn về tài nguyên

Kiểm thử tự động Unit test Kiểm thử tích hợp Kiểm thử Activity Kiểm thử hệ thống, ứng dụng Kiểm thử thông qua giao diện

Page 21: Slide đồ án kiểm thử PM

05/02/202321 NDQA

Kiểm thử trên Android OSAndroid 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,...).

Kiến trúc: Tầng Linux Kernel Tầng Libraries Android Runtime Application Framework Application

Page 22: Slide đồ án kiểm thử PM

05/02/202322 NDQA

Cá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: Activity Service BroadcastReceiver ContentProvider

Vòng đời

ActivityServiceBroadcastReceiver

ContentProvider

Page 23: Slide đồ án kiểm thử PM

05/02/202323 NDQA

Android Testing framework

Page 24: Slide đồ án kiểm thử PM

05/02/202324 NDQA

Các class hỗ trợ kiểm thửClass TouchUtilsMock Object classes

MockApplication MockContentProvider MockContentResolver MockContext MockCursor

Android Testcase base classInstrumentation

ActivityInstrumentationTestCase2 ProviderTestCase2<T>

Page 25: Slide đồ án kiểm thử PM

05/02/202325 NDQA

Android Monkey runnerCông cụ kiểm thử tự động được tích hợp

sẵn chạy dưới dạng dòng lệnhKiể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.

Page 26: Slide đồ án kiểm thử PM

05/02/202326 NDQA

Acceptian 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

Page 27: Slide đồ án kiểm thử PM

05/02/202327 NDQA

FitnesseCô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

Page 28: Slide đồ án kiểm thử PM

05/02/202328 NDQA

GivenWenThenMột framework mã nguồn mở hỗ trợ BDDFitnesse kết hợp với GivWenThen giúp cho

BDD dễ dàng hơnCá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

Page 29: Slide đồ án kiểm thử PM

05/02/202329 NDQA

Kiểm thử hiệu năngTính thời gian thực thi của một hàm hay sự

kiện nào đó Sử dụng TraceView

Page 30: Slide đồ án kiểm thử PM

05/02/202330 NDQA

Kiể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.

Có thể kiểm thử cả WBT, BBT, AT, ST, UTHỗ trợ cả kiểm thử giao diện

Page 31: Slide đồ án kiểm thử PM

05/02/202331 NDQA

Kết luậnKhá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ử PMKiểm thử trên webKiểm thử Smart Phone

Android OS

Page 32: Slide đồ án kiểm thử PM

05/02/202332 NDQA

Thank you