Relat´orio para o Trabalho Prático - MC636 - Grupo Zer0 by onx77558

VIEWS: 10 PAGES: 14

									                o                       a
           Relat´ rio para o Trabalho Pr´ tico - MC636 - Grupo Zer0
             Thiago Vallin Spina(064761) e Tiago Pedroso da Cruz de Andrade(064812)

                                           5 de novembro de 2008

   a
Sum´ rio


1          ¸˜
    Introducao                                                                                                 1

2   Objetivo dos testes                                                                                        1

3                                    ¸˜
    Diagrama de casos de uso e descricao dos fluxos principal e alternativos                                    1

4       a                        ı
    Vari´ veis operacionais e dom´nios                                                                         2

5                                                a
    Relacionamento operacionais e tabela de decis˜ o                                                           3

6         ¸˜
    Descricao dos casos de teste                                                                               3

7                     ¸˜
    Resultado da execucao dos casos de teste                                                                   3

          ¸˜
1. Introducao

                                                                                            o              e
   O sistema testado se chama Speedex e foi elaborado por alunos da Universidade de Ge´ rgia para a mat´ ria de
Engenharia de Software, na Primavera de 2005 (http://www.cs.uga.edu/ janik/2005-Spring/6050/index.html).
    ´                                                                                           o
Ele e um simulador de entrega de pacotes que permite o tracking em “tempo real” dos caminh˜ es da companhia
                                            a                                                          `
Speedex, que percorrem as cidades da regi˜ o realizando as entegas. Uma vez que o pacote chega a cidade de
                       ı                         a
destino ele fica dispon´vel para entrega e o usu´ rio de sistema pode ordenar que isto seja feito.
                       ´              a                                                                    e
   Quando o sistema e iniciado o usu´ rio se loga utilizando alguma conta existente, determinando tamb´ m em
          ¸˜                                           a                              a
qual locacao deseja se logar. O sistema conta com 6 f´ bricas a partir das quais o usu´ rio pode enviar um pacote
                                                                                       o
ou ordenar que os pacotes ali presentes sejam entregues. Note que a encomenda s´ pode ser enviada com o
CEP (Zip) do local atual.
      e                                       ¸˜                                                o
   Al´ m disso, o sistema permite a monitoracao do pacote na aba Track Package e dos caminh˜ es da companhia
                                       ¸˜                                  a       ¸˜
(Show Truck), bem como a visualizacao dos pacotes em cada caminh˜ o/locacao. Por fim, o usu´ rio com      a
        a                                                              a                           a
permiss˜ o para administrar o sistema pode adicionar, ou deletar, usu´ rios e modificar a permiss˜ o de cada um.

2. Objetivo dos testes

                                                        a
   Foram criados 18 casos de testes baseados nas vari´ veis operacionais do sistema e de seus casos de uso,
                  e                                                 a          a                     ¸˜
usando como referˆ ncia as notas de aula. Foram testados valores v´ lidos e inv´ lidos para cada relacao operaci-
onal com o intuito de validar a integridade dos casos de uso do sistema.

                                    ¸˜
3. Diagrama de casos de uso e descricao dos fluxos principal e alternativos

                             ¸˜                               ¸˜                                       o
    Os casos de uso da aplicacao, e suas respectivas especificacoes. foram elaborados pelos alunos da Ge´ rgira
                                                                                        a
e podem ser vistos nas figuras 2(a), 2(b) e 2(c). Dentre todos os casos elaborados est˜ o implementados no
sistema os seguintes:
             1. Ship package
                                     Figura 1: Tela principal do sistema.

            2. Deliver package
            3. Track package route
            4. Add Users
            5. Delete users
            6. Modify user’s access rights
            7. Show location inventory
            8. Show truck route
                                                          a      a                           ¸˜          a
   o que implicou na escolha dos 6 primeiros para teste, j´ que s˜ o os principais. As descricoes dos cen´ rios
dos casos podem ser vistas no anexo A.




     (a) Casos      de     uso    de (b) Casos de uso relacionados aos paco- (c) Casos de uso relacionado aos
               ¸˜
     administracao do sistema.       tes.                                           o
                                                                             caminh˜ es da companhia.

                                     Figura 2: Diagramas de caso de uso


       a                        ı
4. Vari´ veis operacionais e dom´nios

           a
    As vari´ veis operacionais foram determinadas analisando quais campos de cada caso de uso eram cruciais
                ¸˜
para sua execucao. Em Ship Package, por exemplo, somente os campos que indicam o estado (State) e o CEP
                             a        a
(Zip) de destino e origem s˜ o necess´ rios para determinar a rota do pacote. Todos os outros casos testados
                          a                             a                       ı
utilizam somente as vari´ veis presentes na tabela “Vari´ veis peracionais e dom´nios” que pode ser vista no
   e
apˆ ndice B.

                                                       2
                                                a
5. Relacionamento operacionais e tabela de decis˜ o

                     ı                 a
   Com base nos dom´nios de cada vari´ vel operacional foram determinados os relacionamentos operacionais
        o                     a
que comp˜ em a tabela de decis˜ o do anexo C.

         ¸˜
6. Descricao dos casos de teste

            a                                                                                      a
    Como j´ dito, foi criado um caso de teste true e um false para cada variante da tabela de decis˜ o (e.g. caso
10 true e 10 false), totalizando 36 casos que foram descritos como 18 casos na matriz de teste. As tabelas de
       ¸˜
descricao de casos de teste para cada caso de uso podem ser vistas no anexo D e a matriz de casos de teste no
anexo E. Todos os casos foram cobertos por ao menos dois testes.
                                                                a
    Os casos de uso Track Package Route e Deliver Package s˜ o dependentes do caso Ship Package, j´ que     a
necessitam de ao menos um pacote no sistema para serem executados satisfatoriamente. Portanto, seus casos
                                                                                                 a
de teste foram executados considerando a variante verdadeira do caso de teste que exercita o cen´ rio de entrega
                                u
de pacote com sucesso, i.e. o n´ mero do pacote (PackageID) rastreado em Track Package Route e entregue em
                  ´                                                  ¸˜            e
Deliver Package e o mesmo que foi criado em Ship Package. A relacao de dependˆ ncia do caso de uso Delete
              ¸˜
Users em relacao ao Add Users gerou o mesmo problema e foi resolvida considerando o User ID utilizado no
segundo. Nos testes realizados o Package ID do pacote criado de acordo com o caso de teste 6 true era 218, e
o login criado em Add User (teste 14 true) era PedroxD.

                     ¸˜
7. Resultado da execucao dos casos de teste

                                                                                                ˆ
    Todos os casos de teste envolvendo o envio, o tracking e a entrega de pacotes tiveram exito. Nenhuma
                                  e           u
irregularidade foi encontrada at´ o teste n´ mero 11.
                                                                             ¸˜
    Quando foram realizados os testes que exercitavam a parte de administracao do sistema (adicionar e remover
    a                                                              ı
usu´ rio, etc.) encontraram-se quatro defeitos que produziram sa´das indesejadas:
                • Falha no teste 11 true - era esperado que o UserName @ !@ n˜ o fosse aceito por conter
                                                                                      a
                                a          e
                  caracteres n˜ o alfanum´ ricos, mas como pode ser visto na figura 3 ele foi aceito.
                • Falha no teste 13 true A senha n˜ o alfanum´ rica “@ @ @“ foi aceita (figura 4).
                                                    a          e
                • Falha no teste 16 true N˜ o foi poss´vel deletar o UserID PedroxD (figura 6(a)), que j´ havia
                                             a          ı                                                  a
                                                                                                a ´
                  sido cadastrado no caso de teste 14 true. Na figura 5(a) podemos ver que o usu´ rio e adicionado
                                                                          e              a
                  usando o User Name Pedro e o User ID PedroxD, por´ m ao selecion´ -lo na lista de usu´ riosa
                     o            a
                  ap´ s sua inclus˜ o (figura 5(b)) vemos que seus dados trocaram de lugar, o que implica em uma
                       a                              a            e
                  prov´ vel falha na passagem de parˆ metros de m´ todos.
                • Falha no teste 18 true Pelo mesmo motivo da falha no teste 16 true n˜ o foi poss´vel modificar
                                                                                        a          ı
                              o          a
                  as permiss˜ es do usu´ rio com id PedroxD, como pode ser visto na figura 6(b).




                                                       3
        Figura 3: Falha no caso de teste 11 true. O User Name @ !@ foi aceito
                                            .




                                                   a          e
Figura 4: Falha no caso de teste 13 true. A senha n˜ o alfanum´ rica “@ @ @“ foi aceita.




           ¸˜                       a                                   ¸˜        a
   (a) Adicao com sucesso do usu´ rio Pedro, (b) Falha que ocorre na adicao de usu´ rios
           ´
   cujo id e PedroxD (caso de teste 14 true). ao sistema. O User Name e o UserID s˜ o a
                                                              ¸˜
                                              trocados de posicao.

                                          ¸˜        a
                   Figura 5: Erro na insercao de usu´ rios no sistema.




                                            4
                                     a                                              a
(a) Falha no caso de teste 16 true. N˜ o foi (b) Falha no caso de teste 18 true. N˜ o foi
     ı                                     a      ı                        o
poss´vel deletar o UserID PedroxD, que j´ poss´vel modificar as permiss˜ es do usu´ rioa
havia sido cadastrado no caso de teste 14 com id PedroxD, pelo falha que ocorre na
true.                                           ¸˜        a
                                             adicao de usu´ rios evidenciada pelo teste 16
                                             true

                                                             ¸˜        a
  Figura 6: Problemas que ocorrem em virtude do erro na insercao de usu´ rios.




                                            5
Apêndice
A. Cenários dos casos de uso escolhidos
Caso de uso                     Ator                   Cenários
ShipPackage                     Company Personnel      (1) Company Personnel entra com as
                                                       informações da entrega no sistema; os
                                                       endereços estão corretos; o sistema
                                                       aceita o pacote e cria uma entrada.
                                                       (2) Company Personnel entra com as
                                                       informações da entrega no sistema; o
                                                       estado, ou zip code, de entrega está
                                                       incorreto; o endereço é corrigido; o
                                                       sistema aceita o pacote e cria uma
                                                       entrada.
                                                       (3) Company Personnel entra com as
                                                       informações da entrega no sistema; o
                                                       estado está incorreto ou o zip code é
                                                       diferente da locação na qual o usuário
                                                       está logado; o endereço é corrigido; o
                                                       sistema aceita o pacote e cria uma
                                                       entrada.
Add Users                       System Administrator   (1) System Administrator clica na aba
                                                       Administration para adicionar um novo
                                                       usuário. Ele entra com as informações
                                                       do novo usuário e clica no botão add; o
                                                       UserID é inexistente e por isso válido; o
                                                       sistema aceita o usuário.

Delete Users                                           (1) System Administrator clica na aba
                                                       Administration para deletar um usuário;
                                                       escolhe um usuário na lista de usuários
                                                       existentes; clica em delete para deletar
                                                       o usuário selecionado; o sistema deleta
                                                       o usuário.
                                                       (2) System Administrator clica na aba
                                                       Administration para deletar um usuário;
                                                       digita o UserID do usuário; clica em
                                                       delete para deletar o usuário
                                                       selecionado; o UserID é inválido; uma
                                                       mensagem de erro aparece; o UserID é
                                                       corrigido; o sistema deleta o usuário.
ModifyUser'sAccessRights        System Administrator   (1) System Administrator escolhe um
                                                       usuário na lista de usuários existentes
                                                       ou digita seu UserID; modifica as
                                                       permissões de acesso desse usuário e
                                                       confirma.
                                                       (2) System Administrator digita o
                                                       UserID do usuário e confirma; o
                                                       UserID é inválido; um mensagem de
                                                       erro aparece; o System Administrator
                                                       corrige o id e confirma.
Track Package Route   Company Personnel   (1) Company Personnel entra com o
                                          Package ID na guia Track Package; o
                                          sistema busca o pacote e dá o display
                                          de sua rota.
                                          (2) Company Personnel entra com o
                                          Package ID na guia Track Package; o
                                          sistema busca o pacote; o PackageID é
                                          inválido e por isso o sistema exibe uma
                                          mensagem de erro.
Deliver Package       Company Personnel   (1) Company Personnel acessa a guia
                                          Deliver Package; entra com o Package
                                          ID a ser entregado; o pacote está na
                                          fábrica pronto para ser entregue; o
                                          sistema dá baixa no pacote e realiza a
                                          entrega.
                                          (2) Company Personnel acessa a guia
                                          Deliver Package; entra com o Package
                                          ID a ser entregado; o package ID é
                                          inválido ou não está pronto para ser
                                          entregue; o sistema exibe uma
                                          mensagem de erro.
B. Variáveis operacionais e domínios
ShipPackage
Variáveis                              Domínio
State – Sender                         Tem que ter exatamente dois dígitos
State – Receiver                       Tem que ter exatamente dois dígitos
Zip – Sender                           30601 até 30606 e tem de ser igual o Zip da locação na qual
                                       o usuário está logado.
Zip – Receiver                         30601 até 30606

Add Users
Variáveis                              Domínio
User Name                              Caracteres Alfanuméricos
UserID                                 Caracteres Alfanuméricos e ser válido
Password                               Caracteres Alfanuméricos

DeleteUsers
Variáveis                              Domínio
UserID                                 Caracteres Alfanuméricos e ser válido


TrackPackageRoute
Variáveis                              Domínio
PackageID                              Inteiros positivos

ModifyUser'sAccessRights
Variáveis                              Domínio
UserID                                 Caracteres Alfanuméricos

DeliverPackage
Variáveis                              Domínio
PackageID                              Inteiros Positivos
C. Tabelas de Decisão
ShipPackage
State – Sender     len = 2                      F       V       V       V       V       V
State – Receiver    len = 2                     -       F       V       V       V       V
Zip – Sender є (30601 ... 30606)                -       -       F       V       V       V
Zip – Sender = ZIP do local                     -       -       -       F       V       V
Zip – Receiver є (30601 ... 30606)              -       -       -       -       F       V
Msg: Please correct shipping address.          
Msg: Please correct delivery address.                                          
Msg: Wrong shipping ZIP code.                                          
Use the factory ZIP <location ZIP>.
Retorna o Package ID                                                                    


<location ZIP> é o cep (Zip) da locação na qual o usuário se logou.

Add Users

Use Name є {alfanuméricos}                F     V       V       V
User ID = User ID válido                  -     F       V       V
PassWord є {alfanuméricos}                -     -       F       V
Msg: Fail to add the user.                            
Msg: User add sucessfully.                                      

DeleteUsers

User ID = User ID válido                       F        V
Msg: Fail to delete the user.                 
Msg: User delete sucessfully                            

ModifyUser'sAccessRights

User ID = User ID válido                            F       V
Msg: Fail to modify the user's profile.            
Msg: Modify sucessfully                                 

TrackPackageRoute

PackageID є Ze válido                                      F       V
Msg: Invalid package ID. No history available               
Lista dos locais por onde o pacote passou.                          

DeliverPackage
PackageID є Z e válido                                                     F       V
Msg: Error in Delivering the Package! Correct package ID.                   
Msg: Package delivered sucessfully                                                  
D. Tabelas de Casos de Teste
ShipPackage
  Caso de                                              Variáveis Operacionais                                                              Resultado Esperado
   Teste
                  State – Sender         State – Receiver      Zip – Sender        Zip – Sender        Zip – Receiver
                      len = 2                 len = 2       є (30601 ... 30606)    = ZIP do local    є (30601 ... 30606)
     1            State – Sender          Não Importa          Não Importa          Não Importa         Não Importa
                     Inválido
   1 true             %Ygh4                                          -                   -                    -                     Msg: Please correct shipping address.
   1 false    Teste true da variante 2
     2            State – Sender         State – Receiver      Não Importa          Não Importa         Não Importa
                      Válido                 Inválido
   2 true               NY                    (&hp                   -                   -                    -                     Msg: Please correct delivery address.
   2 false    Teste true da variante 3
     3            State – Sender         State – Receiver      Zip – Sender         Não Importa         Não Importa
                      Válido                  Válido             Inválido
   3 true               NY                     WC                 30610                  -                    -                       Msg: Wrong shipping ZIP code.
                                                                                                                                    Use the factory ZIP <location ZIP>*.
   3 false    Teste true da variante 4
     4            State – Sender         State – Receiver      Zip – Sender        Zip – Sender         Não Importa
                      Válido                  Válido              Válido             Inválido
   4 true               NY                     WC                 30602           diferente do ZIP            -                       Msg: Wrong shipping ZIP code.
                                                                                       do local                                     Use the factory ZIP <location ZIP>*.
   4 false    Teste true da variante 5
     5            State – Sender         State – Receiver      Zip – Sender        Zip – Sender        Zip – Receiver
                      Válido                  Válido              Válido              Válido              Inválido
   5 true               NY                     WC                 30602           = ZIP do local           30600             Msg: No factory found for delivery zip code. Please
                                                                                                                                                 correct.
   5 false    Teste true da variante 6
     6            State – Sender         State – Receiver      Zip – Sender        Zip – Sender        Zip – Receiver
                      Válido                  Válido              Válido              Válido               Válido
   6 true               NY                     WC                 30602           = ZIP do local           30603           Mensagem informando todos os dados de envio do pacote
                                                                                                                                incluindo o Package ID criado pelo sistema.
   6 false    Teste true da variante 1
* <location ZIP> é o cep (Zip) da locação na qual o usuário se logou. Nos testes realizados foi utilizada a locação 12, cujo Zip code é 30602.
TrackPackageRoute

  Caso de Teste                     Variáveis Operacionais                                 Resultado Esperado
                                          PackageID є Z+
        7                                    PackageID
                                              Inválido
     7 true                                    d1&@                                      Msg: Invalid package ID.
                                                                                          No history available
     7 false                         Teste true da variante 8
        8                                    PackageID
                                               Válido
    8 true *        <Package ID gerado pela variante true do caso de teste 6>    Lista dos locais por onde o pacote passou.
     8 false                         Teste true da variante 7

* O teste de caso de uso 8 true depende do teste de caso de uso 6 true para que tenha ao menos um pacote cadastrado no sistema.


Deliver Package

  Casos de Teste                        Variáveis Operacionais                           Resultado Esperado
                                    +
                      PackageID є Z e é válido (está pronto para ser entregue)
        9                                PackageID inexistente
      9 true                                  @#!@#$$                            Msg: Error in Delivering the Package!
                                                                                         Correct package ID.
     9 false                     Caso de teste true da variante 10
       10                                Package ID existente
    10 true *        <Package ID gerado pela variante true do caso de teste 6>    Msg: Package delivered sucessfully
     10 false                     Caso de teste true da variante 9

*O teste de caso de uso 10 true depende do teste de caso de uso 6 true para que tenha ao menos um usuário cadastrado no sistema.
Add User

  Casos de Teste                                             Variáveis Operacionais                                            Resultado Esperado
                           Use Name є {alfanuméricos}               User ID = User ID válido   Password є {alfanuméricos}
        11             User Name com caracteres inválidos                  Não Importa                Não Importa
     11 true                          @#!@#                                                                                  Msg: Fail to add the user.
     11 false            Caso de teste true da variante 12
        12           User Name com caracteres alfanuméricos              UserID existente             Não Importa
     12 true                           Pedro                                      a*                                         Msg: Fail to add the user.
     12 false            Caso de teste true da variante 13
        13           User Name com caracteres alfanuméricos            UserID não existente        Password inválida
     13 true                           Pedro                                    PedroxD                @#@#@                 Msg: Fail to add the user.
     13 false            Caso de teste true da variante 14
        14           User Name com caracteres alfanuméricos            UserID não existente         Password válida
     14 true                           Pedro                                    PedroxD                  irule              Msg: User add successfully
     14 false            Caso de teste true da variante 11

* O User ID “a” é o usuário administrador default do sistema e por isso foi usado.

Delete User

  Caso de Teste    Variáveis Operacionais          Resultado Esperado
                          User ID
       15                 User ID
                          Inválido
     15 true               #dRT-+               Msg: Fail to delete the user.
     15 false      Teste true da variante 2
       16                 User ID
                          Válido
    16 true *             PedroxD              Msg: User delete sucessfully
     16 false      Teste true da variante 1

*O teste de caso de uso 16 true depende do teste de caso de uso 14 true para que tenha ao menos um usuário cadastrado no sistema.
Modify User's access rights

  Casos de Teste       Variáveis Operacionais                  Resultado Esperado
                       PackageID є Z+ e válido
       17                 User ID inexistente
     17 true                   @#!@#                   Msg: Fail to modify the user's profile.
     17 false       Caso de teste true da variante 2
       18                  User ID existente
    18 true *                  PedroxD                       Msg: Modify sucessfully
     18 false       Caso de teste true da variante 1

* O teste de caso de uso 18 true depende do teste de caso de uso 14 true para que tenha ao menos um usuário cadastrado no sistema.
E. Matriz de casos de teste
                         CT1 CT2     CT3 CT4      CT5 CT6      CT7 CT8      CT9 CT10      CT11   CT12    CT13    CT14   CT15   CT16   CT17   CT18
Ship Package                                         
Track Package Route                                                   
Deliver Package                                                                    
Add User                                                                                                        
Delete User                                                                                                                    
Modify User's Rights                                                                                                                         


Cada caso de teste inclui tanto a variante true como a false, uma vez que ambas exercitam um cenário do caso de uso.

								
To top