Nghiên cứu và cài đặt các công cụ kiểm thử PM tự động
Nghiên cứu cài đặt công cụ kiểm thử PM tự động Adnroid, ASP.net MVC L/O/G/O Nội dung trình bày Đặt vấn đề Khái quát phần mềm kiểm thử phần mềm Các khái niệm, kĩ thuật kiểm thử PM Kiểm thử PM tự động Kiểm thử Web Kiểm thử SmartPhone (Android OS) Kết luận Đặt vấn đề Sự bùng nổ công nghệ thông tin năm gần gia tăng phần mềm số lượng theo chiều rộng chất lượng phần mềm theo chiều sâu Cùng với phát triển phần mềm kèm theo lỗi, hỏng hóc mà phần mềm gặp phải ngày nhiều Công tác kiểm thử quy trình phát triển phần mềm ngày coi trọng Đặt vấn đề Những khó khăn kiểm thử phần mềm Tốn nhiều chi phí (40%) Không hiệu làm thủ công Giải pháp Sử dụng công cụ kiểm thử tự động Áp dụng quy trình phát triển phần mềm TDD hay BDD Chi phí sản xuất PM JUnit Kiểm thử phần mềm Các giiai đoạn khác Phần mềm kiểm thử Phần mềm: tập hợp câu lệnh thị (Instruction) viết nhiều ngôn ngữ lập trình theo trật tự xác định, liệu hay tài liệu liên quan nhằm tự động thực số nhiệm vụ hay chức giải vấn đề cụ thể Quy trình phát triển PM (Software Development / Engineering Process – SEP): cấu trúc bao gồm tập hợp thao tác kết tương quan sử dụng việc phát triển để sản xuất sản phẩm phần mềm.(Wikipedia) Cá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 (Multi-version models) Mô hình mẫu (Prototype) Mô hình tiến hóa (Evolutionary) Mô hình lặp 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 kiểm thử (Test Driven Development-TDD) Test Driven Development-TDD Kiể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 môi trường chúng dự định triển khai nhằm cung cấp cho người có lợi ích liên quan thông tin chất lượng sản phẩm hay dịch vụ phần mềm Vai trò: đóng vai trò quan trọng quy trình phát triển phần mềm thể không qua chi phí dành cho khâu kiểm thử (luôn chiếm tới 40%) mà nhân lực thời gian để hoàn thành công đoạn Các kĩ thuật kiểm thử phần mềm Input BBT Output Input WBT Output Input GBT Application code Output Các giai đoạn kiểm thử PM Kiểm Kiểm Kiểm Kiểm Kiểm thử thử thử thử thử đơn vị (Unit test) tích hợp (Integrated Test) chấp nhận (Acceptance Test) hồi quy hệ thống (System test) Kiểm thử ASP.net MVC MVC framework thiết kế phép kiểm thử mà không cần triển khai Web Server (IIS), sở liệu hay class mở rộng khác (điều hoàn toàn trái ngược với mô hình Web form truyền thống, luôn yêu cầu cần có Web server) Với hỗ trợ công cụ mã nguồn mở Nunit Unit Test tích hợp sẵn Visual Studio, việc kiểm thử ứng dụng Asp.net MVC trở nên đơn giản thuận tiện cho nhà phát triển phần mềm Kiểm thử SmartPhone Kiểm thử SmartPhone Các yếu tố ảnh hưởng đến hoạt động phần mềm SmartPhone Tuổi thọ Pin Kết nối mạng Sự khác thiết bị phần mềm cài thiết bị Giới hạn 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 Kiểm thử Android OS Android OS: HĐH mã nguồn mở có nhân Linux OS 2.6.0, chạy 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 Các thành phần vòng đời ứng dụng Các thành phần ứng dụng Android: Activity Service BroadcastReceiver ContentProvider Vòng đời Android Testing framework Các class hỗ trợ kiểm thử Class TouchUtils Mock Object classes MockApplication MockContentProvider MockContentResolver MockContext MockCursor Android Testcase base class Instrumentation ActivityInstrumentationTestCase2 ProviderTestCase2 Android Monkey runner Công cụ kiểm thử tự động tích hợp sẵn chạy dạng dòng lệnh Kiểm thử khả chịu tải (Street Test) ứng dụng adb -e shell monkey -p com.example.temperatureconverter -v -v 1000 Monkey runner gửi kiện tới package ứng dụng (-p) hiển thị log Logcat dạng verbose manner(-v -v) Số lượng kiện 1000 Acceptian Test Behavior Driven Development (BDD) BDD quy trình phát triển phẩn mềm dựa TDD, BDD kết hợp nguyên lý, kĩ thuật chung TDD với ý tưởng từ domain-driven design (DDD, cách tiếp cận phát triển phần mềm cho yêu cầu phức tạp cách thực thi mô hình tiến hóa) phân tích thiết kế hướng đối tượng (OOAD) để cung cấp cho nhà phát triển phần mềm khách hàng công cụ chung quy trình phát triển phần mềm BDD tiến hóa TDD Fitnesse Công cụ cộng tác phát triển phần mềm, framework mã nguồn mở tạo cho việc kiểm thử Kiến trúc GivenWenThen Một framework mã nguồn mở hỗ trợ BDD Fitnesse kết hợp với GivWenThen giúp cho BDD dễ dàng Các bước GivWenThen Giv: điều kiện tiên cho testcase Wen: miêu tả hành động user Then: kết hành động Kiểm thử hiệu Tính thời gian thực thi hàm hay kiện Sử dụng TraceView Kiểm thử Robotium Một framework mã nguồn mở nhỏ gọn đầy mạnh mẽ linh hoạt giúp cho việc kiểm thử tự động Android đơn giản nhiều Có thể kiểm thử WBT, BBT, AT, ST, UT Hỗ trợ kiểm thử giao diện Kết luận Khái quát phần mềm kiểm thử Các kĩ thuât, công cụ, giai đoạn kiểm thử PM Kiểm thử web Kiểm thử Smart Phone Android OS Thank you [...].. .Kiể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 Cá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 Các công cụ mã nguồn mở xUnit (Nuint, Junit, ) ... 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 Kiểm thử trên web Kiể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. .. 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, UT Hỗ trợ cả kiểm thử giao diện Kế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 Thank you ... 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 Kiểm thử trên SmartPhone 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... 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 Kiể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, ) Kiến trúc: Tầng Linux Kernel Tầng Libraries Android Runtime Application Framework Application Các. .. 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 Acceptian Test và Behavior Driven Development... 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 ? Các phương pháp testing Kiể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... 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 Fitnesse Công cụ cộng... tạo ra cho việc kiểm thử Kiến trúc GivenWenThen Mộ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 Kiể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 Kiểm thử bằng Robotium... access control testing) Kiểm thử tính dùng được Kiể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 Kiể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