Traceability matrix
Radek Smilgin W testowaniu od 2002 roku Tester, test manager, konsultant Twórca testerzy.pl i mistrzostw w testowaniu Fan testowania eksploracyjnego i testowania w agile [zdjecie wikipedia: http://pl.wikipedia.org/wiki/plik:charles_darwin_01.jpg] 2
Wstęp Ile przypadków testowych napisać dla wymagania napisanego w języku naturalnym?
Wstęp Wymaganie Aby korzystać z funkcjonalności użytkownik musi stworzyć konto do systemu [ ] należy zdefiniować nazwę użytkownika i hasło [ ] ilość znaków w nazwie użytkownika musi zawierać się w przedziale <8;30>» [ ] wielkość znaków nie ma znaczenia, znaki dopuszczalne to: a,b,c x,y,z ; 0,1,2, 8,9 ; _, -,. [ ] znaki _, -,. nie mogą występować na początku ani na końcu nazwy użytkownika
Wstęp Dane testowe: [ ] aaaaaaaa, aaaaaaab, aaaaaaac [ ] około 3,5 biliona kombinacji do przetestowania
Wstęp Metoda: śledzalność Policzyć Zoptymalizować Wyliczyć ryzyko związane z nie testowaniem wszystkiego
Połączenie = przejrzystość Dokument /idea Półprodukty Produkt Koncepcja produktu Specyfikacja wymagań Prototyp Plany, specyfikacja testowa, specyfikacja kodowania Oprogramowanie Specyfikacja kodowania Pośrednie wersje oprogramowania Specyfikacja testowa Raporty błędów i testy poprawek Informacja o jakości oprogramowania
Połączenie = przejrzystość Requirement Modification of Auto Load Process Modification of Force Balance Process Function Specificati on BRD section 6.5.8 BRD section 6.5.8 Design Specificati on LLD section 3.1 LLD section 3.2 Source Code Files SCW2FORCE.P RG Test Cases Test Case No.: 1 to 10 (Reference: 1099_Reporting_ Test_Record.Doc ) W2FORCE.PRG Test Case No.: 1 to 10 (Reference: 1099_Reporting_ Test_Record.Doc
Połączenie = przejrzystość
Śledzenie w inżynierii wymagań
Śledzenie w testowaniu REQ. TC
Śledzenie w projekcie CODE REQ. BUILD ENV. TC BUG
Automatyczne śledzenie?
Automatyczne śledzenie? d1 d1.1 (ontology, semantic, dictionary) Automatic Traceability Software Traceability matrix Coverage report Quality report
Automatyczne śledzenie? Search: Web crawling (spider) Indexing storing information Processing Calculating relevancy or / and human input Retrieving Searching list of matching pages or documents PageRank: We assume page A has pages T1...Tn which point to it (i.e., are citations). The parameter d is a damping factor which can be set between 0 and 1. We usually set d to 0.85. There are more details about d in the next section. Also C(A) is defined as the number of links going out of page A. The PageRank of a page A is given as follows: PR(A) = (1-d) + d (PR(T1)/C(T1) +... + PR(Tn)/C(Tn))
Automatyczne śledzenie? Analyse words and sentences in the document (s) Nouns Verb Adjective / Adverb Analyse structure of information in the document (s) Example: Important Less Important Not really important
Automatyczne śledzenie? Information Retrieval (IR) - podobieństwo pomiędzy dokumentem i zapytaniem: Gdzie d wektor dokumentu q- wektor zapytania
Automatyczne śledzenie? Ontology: Structure (example) Class Customer [ ] Any Legal-Entity that participates in at least one of: Slots:» the Actual-Customer relationship with respect to some Sale,» the Potential-Customer relationship with respect to some Potential-Sale,» the Specified-Potential-Customer Relationship with some Sale-Offer.» Has-Need: Implication Axioms for Customer: (=> (Customer?X) (Or (Exists (?Sale) (Actual-Customer?Sale?X)) (Exists (?Potential-Sale) (Potential-Customer?Potential-Sale?X)) (Exists (?Sale-Offer) (Specified-Potential-Customer?Sale-Offer?X))))
Automatyczne śledzenie? Możliwe Nieopłacalne
Przykład 1
Przykład 2 (Mirek) W1: "Po włączeniu przełącznika odpowiadającego za dany silnik - silnik ma się włączyć" W2: "Po włączeniu danego silnika - ma się zapalić dioda w kabinie, przypisana do danego silnika" W3: "Po włączeniu danego silnika - ma zostać wysłany sygnał na magistralę informujący o włączeniu danego silnika" Krok 1: włącz przełącznik od silnika "1" Krok 2: sprawdź, czy silnik "1" został włączony Krok 3: sprawdź, czy zapaliła się dioda od silnika "1" Krok 4: sprawdź, czy został wysłany sygnał dla silnika "1" W1 (silnik) W2 (dioda) W3 (sygnał) P1 (silnik 1) x x x P2 (silnik 2) x x x P3 (silnik 3) x x x P4 (silnik 4) x x x Krok 1 (włączenie) Krok 2 (silnik?) Krok 3 (dioda?) Krok 3 (sygnał?) P1 (silnik 1) OK OK OK OK P2 (silnik 2) OK OK OK NOK P3 (silnik 3) OK OK OK OK P4 (silnik 4) OK OK OK OK
DATA 2012-03-06 2012-03-07 2012-03-08 2012-03-09 2012-03-13 2012-03-14 2012-03-16 2012-03-19 2012-03-21 2012-03-23 Przykład 3 Użytkownik User - edycja profilu - zmien hasło x x 0 0 1 1 0 1 1 1 User - edycja profilu - usuń konto x x 0 1 1 1 1 1 0 0 User - edycja profilu - edytowalny link do profilu x x x x x x x x x x User - edycja profilu - lista memów x x 0 0 1 1 1 1 1 0 User - rejestracja 1 1 1 1 1 1 0 1 1 1 User - przypomnij hasło x x 1 1 1 1 1 1 1 1 User - logowanie 1 1 1 1 1 1 1 1 1 1 User - edycja profilu - zmień email x x x 1 1 1 1 1 0 1 Usunięcie firstname, lastname, dodanie rok urodzenia x x x x x x 1 1 1 1 Przypominanie hasła dla nazwy użytkownika. x x x x 1 1 1 1 1 1 Zmiana Rejestracji - Mechanizm zaproszen x x x x x x x x 0 1 Prośba o rejestrację x x x x x x x x 1 1
Dziękuję za uwagę! Pytania? Odpowiedzi! Pytania po : kontakt@testerzy.pl