Wprowadzenie do matrycy śledzenia i dlaczego nie opłaca się automatyzacja śledzenia post factum.
Plus przykłady matryc.
Prezentacja z WrotQA.
Język: mieszany [PL / EN]
2
• 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]
• Ile przypadków testowych
napisad dla wymagania
napisanego w języku naturalnym?
Wstęp
• Wymaganie
– Aby korzystad z funkcjonalności użytkownik musi
stworzyd konto do systemu
• […] należy zdefiniowad nazwę użytkownika i hasło
– […] ilośd znaków w nazwie użytkownika musi zawierad się w
przedziale <8;30>
» […] wielkośd znaków nie ma znaczenia, znaki dopuszczalne
to: „a,b,c…x,y,z”; „0,1,2, …8,9”; „_, -, .”
• […] znaki „_, -, .” nie mogą występowad na początku
ani na koocu nazwy użytkownika
Wstęp
• Dane testowe:
– […] aaaaaaaa, aaaaaaab, aaaaaaac […]
– około 3,5 biliona kombinacji do przetestowania
Wstęp
• Metoda: śledzalnośd
– Policzyd
– Zoptymalizowad
– Wyliczyd ryzyko związane z nie testowaniem wszystkiego
Wstęp
Dokument /idea Półprodukty Produkt
Koncepcja produktu Prototyp
Oprogramowanie
Specyfikacja wymagao Plany, specyfikacja
testowa, specyfikacja
kodowania
Specyfikacja kodowania Pośrednie wersje
oprogramowania
Specyfikacja testowa Raporty błędów i testy
poprawek
Informacja o jakości
oprogramowania
Połączenie = przejrzystość
Requirement
Function
Specificati
on
Design
Specificati
on
Source Code
Files
Test Cases
Modification
of Auto Load
Process
BRD
section
6.5.8
LLD section
3.1
SCW2FORCE.P
RG
Test Case No.: 1
to 10 (Reference:
1099_Reporting_
Test_Record.Doc
)
Modification
of Force
Balance
Process
BRD
section
6.5.8
LLD section
3.2
W2FORCE.PRG Test Case No.: 1
to 10 (Reference:
1099_Reporting_
Test_Record.Doc
Połączenie = przejrzystość
• 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) - podobieostwo
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:
» 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 .
– Slots:
» 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?
Przykład 2 (Mirek)
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
W1: "Po włączeniu przełącznika odpowiadającego
za dany silnik - silnik ma się włączyd"
W2: "Po włączeniu danego silnika - ma się zapalid
dioda w kabinie, przypisana do danego silnika"
W3: "Po włączeniu danego silnika - ma zostad
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"
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
Użytkownik
User - edycja profilu - zmien hasło x x 0 0 1 1 0 1 1 1
User - edycja profilu - usuo 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 - zmieo 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
Przykład 3