Tải bản đầy đủ (.pptx) (32 trang)

Nghiên cứu và cài đặt các công cụ kiểm thử PM tự động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 32 trang )

Nghiên cứu và cài đặt
các 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 về phần mềm và 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ủ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



Đặ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

JUnit

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


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)


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


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


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ử 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,...)
 Robotium
 Android Monkey Runner


Mộ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


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 ả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 ?


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


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


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


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<T>


Android 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.


×