Jak je dzielimy ?
Musimy najpierw zdefiniować cel!
Suitability
Zdolność programu do spełnienia wymagań użytkownika.
Interoperability
Zdolność programu do interakcji z określonymi systemami i komponentami.
Security
Czy aplikacja spełnia zasady bezpieczeństwa ?
Accuracy
Czy nasz program jest precyzyjny ?
Compliance
Czy program spełnia określone standardy i wymogi prawa ?
planujemy na podstawie specyfikacji - warto poukładać priorytety
znajomość procesu biznesowego pozwala nam gruntownie przetestować najczęściej używane funkcje
Performance testing
Testowanie wydajności aplikacji (FPDev anyone ?)
Stress testing
Testowanie przeciążeniowe - w skrajnych warunkach
Usability testing
Użyteczność - nie tylko CZY robi, ale JAK robi ;]
Mantainability testing
Łatwość z jaką soft może być rozwijany i modyfikowany
Reliability testing
Niezawodność - jak długo nasz apps będzie działał (ile razy się wykona) zanim się wykrzaczy.
Portability testing
Przenoszalność aplikacji - łatwość z jaką można przenieść aplikację na inną maszynę/środowisko
White-box testing
Sprawdzamy czy zgłoszony bug na pewno został naprawiony - "U mnie działa!"
Developerzy z natury są krótkowzroczni i robiąc jedną rzecz nie widzą że psują inną - wielokrotnie powtarzamy testy, po każdej zmianie aplikacji/środowiska
Test Types
The targets of testing
- Funkcjonalność aplikacji - coś co robi nasz soft
- Cecha nie będąca funkcjonalnością - np. użyteczność
- Architektura lub struktura programu
- Zmiany wprowadzane przez developerów
Testing of Function (Functional Testing)
Na ile nasza aplikacja ma się do tego co jest w specyfikacji ? ( O ile w ogóle jakaś istnieje :] )
Jest to tak naprawdę to co robi aplikacja.
A w ramach niej wyróżniamy:
Koniec
Dwa podejscia do planowania testów
Testing of software product characteristics
(non-functional testing)
Testing Related to Changes:
Re-testing and Regression Testing
- Cechy wpływające na jakość aplikacji, nie będace funkcjonalnością.
Interesuje nas jak szybko i dobrze nasz program coś robi!
- Ich głównym celem jest zbadanie pokrycia kodu (code coverage)
Testing of software structure/architecture
(structural testing)
Functional + Non-functional test = Blackbox testing