Académique Documents
Professionnel Documents
Culture Documents
negcio
Henrique Prado Sousa1, Andr Luiz de Castro Leal1,2, Arndt von Staa1, Julio Cesar Sampaio do
Prado Leite1
1
Departamento de Informtica
Pontifcia Universidade Catlica do Rio de Janeiro (PUC-Rio)
Rio de Janeiro, RJ, Brasil
2
Departamento de Matemtica
Universidade Federal Rural do Rio de Janeiro (UFRRJ)
BR-465, Km 7, Seropdica, Rio de Janeiro - CEP 23890-000
hps.infotec@gmail.com, andrecastr@gmail.com, arndt@inf.puc-rio.br, www.inf.puc-rio.br/~julio
1 Introduo
Nos projetos de desenvolvimento de software, a correta definio dos requisitos ainda um
desafio para a Engenharia de Requisitos (ER). Como fator agravante, o custo da identificao de
problemas inseridos nas fases iniciais da construo de software crescente ao longo do ciclo de
desenvolvimento, muitas vezes de forma exponencial [6] [20]. Mesmo quando bem definidos, os
requisitos podem sofrer problemas de implementao, projeo de arquitetura e tecnologias, e
acarretar prejuzos crescentes ao longo do tempo incorridos nas tentativas de reverter o problema.
O custo relativo para corrigir um defeito nas diferentes fases de construo de um
software se eleva conforme o andamento do projeto. Este custo menor durante as fases iniciais
porque ainda existem poucos artefatos que possam vir a necessitar de correo [18]. Na existncia
de erros, o maior nmero de produtos desenvolvidos provavelmente demandar um efeito cascata
para a correo dos erros encontrados.
Alguns projetos de desenvolvimento de software gastam de trinta a cinquenta por cento
do oramento na realizao de testes, entretanto, a maioria dos usurios identifica que os softwares
no so bem testados antes da entrega [14]. Uma possvel explicao para a ineficincia dos testes
a sua realizao apenas na ltima etapa do processo de desenvolvimento, momento em que
oramento e prazo j se encontram bastante limitados. Somado a isso, alm de ser uma tarefa
complexa, muitas vezes, os testes so realizados sem seguir mtodos bem definidos.
Para auxiliar a tarefa de testes de software, o presente trabalho sugere a projeo de sutes
de testes logo nas fases iniciais do desenvolvimento, com base em informaes do contexto
presentes em modelos de processos de negcio, as quais tambm podero ser utilizadas na
elicitao de requisitos. Os casos de teste so definidos a partir da identificao de
funcionalidades em um modelo de processo, bem como outras caractersticas pesquisadas nas
maiorias dos mtodos de gerao de casos de teste a partir de artefatos de requisitos. Como os
modelos de processos de negcio so elementos fundamentais nesta proposta, ela somente se
aplica aos projetos os quais possuem este artefato disponvel.
Com uma sute de testes projetada praticamente em conjunto com os requisitos, espera-se
que ela oriente a fase de construo do software ao fornecer informaes prvias sobre o fluxo dos
casos de testes que devero ser realizados, produzindo um efeito colateral que pode ser benfico
qualidade dos artefatos a serem produzidos. Isso pode ocorrer porque a formulao de casos de
teste requer a identificao dos cenrios, a valorao dos dados e a definio de orculos ou
resultados esperados, o que reforar a demanda pelo o conhecimento necessrio do domnio para
a definio desses elementos. Os processos que geram esses artefatos so, portanto, benficos,
porque antecedem informaes que podem auxiliar ao engenheiro de requisitos na identificao de
possveis erros, impedindo que sejam propagados para artefatos/produtos posteriores. Reduz-se
assim o custo do projeto atravs da reduo significativa do retrabalho.
Outro benefcio que o uso de modelos de processos de negcio como insumo em um
processo de elicitao beneficia o alinhamento dos requisitos ao negcio, desta forma, os casos de
testes extrados do mesmo modelo, e incorporando o mesmo processo de identificao de
requisitos, alm de garantir uma boa cobertura, tambm incluir nos testes cenrios alinhados ao
negcio.
Diante disso, o objetivo principal deste trabalho apresentar como os modelos de
processos de negcio podem contribuir para a definio de casos de testes de software.
Entendemos que a modelagem de processos possui grande variao de elementos com semntica
rica, e conseguem representar os requisitos de sistema em diferentes nveis de abstrao. A partir
disso, unimos esta capacidade a algumas heursticas de um mtodo de identificao de servios, e
novas heursticas complementares baseadas em outros mtodos de definio de casos de teste
presentes na literatura. Para alcanar este objetivo, iniciamos com o estudo de mtodos para
gerao de casos de teste a partir de artefatos de requisitos. Isso permitiu a identificao dos
elementos necessrios para a definio dos casos de teste e as tcnicas de extrao das informaes
para a composio dos casos de teste a partir de processos de negcio. Por fim, criamos um
pequeno exemplo de aplicao destas heursticas e analisamos os resultados baseado no nvel de
detalhe existente no modelo e nvel de abstrao.
O presente artigo est dividido nas seguintes sees: na seo 2, esto descritas algumas
caractersticas de uso de requisitos na extrao de testes; na seo 3 so analisadas as
caractersticas presentes em um modelo de processo de negcio em relao aos elementos
necessrios para permitir a extrao dos casos de teste, na seo 4, discorre-se a respeito do
mtodo de identificao de requisitos a partir de modelos de processos de negcio; na seo 5
apresentado o mtodo proposto; e por fim, na seo 6, esto as concluses.
HCC1
HRB2
Este caso de teste, ao ser executado, envolver o conjunto de requisitos que esto
presentes no fluxo de processo (neste caso, somente um). Cada requisito um elemento distinto,
porm a unio destes elementos definir o grau de granularidade do caso de teste. possvel
identificar que este exemplo de cadastro de cliente simples, principalmente por no considerar
fluxos alternativos. No prximo exemplo ser utilizado o mesmo processo, porm, sendo
expandido para considerar os fluxos alternativos. Ao expandir este cenrio, obtm-se uma viso
mais detalhada, desta forma outros elementos surgem, como regras de negcio e novas atividades.
Registro de cliente Modelo detalhado
A Fig. 4 apresenta o trecho de processo que tem como objetivo o cadastro do cliente. A
descrio do processo : o processo inicia quando o cliente no est cadastrado. O usurio informa
nome de usurio e senha, o sistema verifica se o nome de usurio j se encontra registrado na base
de dados. Caso o nome de usurio j esteja presente na base de dados, o usurio dever informar
novamente o nome de usurio e senha, porm alterando sua proposta de nome de usurio. Caso o
nome do usurio no esteja presente na base de dados, o sistema registra o cliente. Ao final do
processo, o cliente estar cadastrado.
HRB2
HPW2
HPW1
HRB3 HRB3
HRB1
HRB3 HRB2
6 Concluses
O presente trabalho apresentou uma proposta para extrao de casos de testes a partir de modelos
de processos de negcio. O mtodo faz uso de heursticas definidas em [2], o que inclui padres de
workflow presentes em [5], alm de heursticas complementares, proposta neste trabalho. Algumas
heursticas so influenciadas por propostas que utilizam outros artefatos de requisitos como
insumo para extrao de casos de teste, tais como [9], [11], [14], [16], [25], [28].
Observamos que os modelos de processos de negcio oferecem grande potencial como
insumo para gerao dos casos de testes, principalmente porque possuem maior capacidade em
representar detalhes do negcio. Estes detalhes so traduzidos em requisitos de sistema e devem
ser includos nos casos de teste. Identificamos que quanto maior a abstrao do modelo de
processo, maior o impacto nos casos de teste. importante que o processo seja modelado de
forma detalhada, principalmente em relao aos fluxos que podem ser considerados como
alternativos. Por exemplo, os fluxos caracterizados por desvios em regras de negcio ou
situaes que demandam decises que levem a um fluxo executado por diferentes atividades.
Apesar destes cuidados beneficiarem o mtodo de identificao de requisitos e de
extrao de casos de teste, os modelos de processos no abordam todos os requisitos de um
sistema, mas expressam os de natureza operacional, assim como so os elementos que o compem.
Requisitos no funcionais so ainda mais difceis de serem representados em modelos e
identificados por heursticas. Isso demonstra que a aplicao dessas propostas no deve ser
considerada como nico recurso para elicitao de requisitos e construo de casos de teste.
Entre os benefcios do mtodo proposto, temos a aplicao direta nos modelos, sem a
necessidade de transformaes ou construo de modelos intermedirios que auxiliem no processo
de definio de casos de teste, como ocorrem em algumas propostas [9], [28], [32]. O mtodo
proposto baseado em heursticas que analisam diretamente os modelos e extraem as informaes
a partir dos objetos e fluxos presentes. A identificao dos requisitos [2] auxilia a construo de
casos de testes, mas ainda demanda a delimitao dos cenrios e tratamento das informaes
coletadas. Outro fator importante a possibilidade de alinhar a estratgia de uso dos modelos de
processos de negcio na engenharia de requisitos, com a gerao de casos de teste, ampliando o
potencial dos processos de negcio na construo de software. Alm disso, o mtodo de
identificao de requisitos utilizado j se encontra automatizado para a ferramenta ARIS [4] e
BPMN [30]. Desta forma, a automatizao da gerao de casos de teste facilitaria o acesso aos
artefatos com significativa reduo de custos. Em organizaes que utilizam processos de negcio
como auxlio na gesto, as alteraes nos modelos poderiam ser replicadas nos artefatos de
software de forma imediata, reduzindo o seu custo de manuteno.
Em trabalhos futuros, alm da automao da proposta, devemos aplicar o mtodo em um
exemplo real para identificar com mais preciso o impacto do uso dos casos de testes candidatos.
Tambm devemos investigar como classificar e consolidar a lista de casos de testes, gerando novas
informaes que possam auxiliar engenheiro de software durante a aplicao da sute de testes.
Outra questo qual o impacto dos casos de teste no alinhamento do software com os objetivos
organizacionais. Ou seja, deseja-se saber se os testes projetados a partir dos modelos de processo
de negcio podem contribuir positivamente ao alinhamento entre a TI e o negcio. A relao com
TMM (Testing Maturity Model) e TMMI (Testing Maturity Model Integration) tambm
desejada, com o objetivo de integrar as boas prticas registradas nestes modelos.
Referncias bibliogrficas
1. Amyot, D., Mussbacher, G., URN: Towards a New Standard for the Visual Description of
Requirements. In Proceedings of SAM2002. pp.21-37, (2002)
2. Azevedo, L., Baio, F., Santoro, F., Souza, J., Revoredo, K., Pereira, V., Herlain, I., Identificao de
servios a partir da modelagem de processos de negcio, Simpsio Brasileiro de Sistemas de
Informao (SBSI09), Braslia, (2009)
3. Azevedo, L., Santoro, F., Baio, F., Souza, J., Revoredo, K., Pereira, V., Herlain, I., A Method for
Service Identification from Business Process Models in a SOA Approach, 10th International
Workshop on Business Process Modeling, Development, and Support (BPMDS), Enterprise,
Business-Process, and Information Systems Modelling. V. 29, Amsterdam, (2009)
4. Azevedo, L., Sousa, H. P., Souza, J. F., Santoro, F. Baio, F., Identificao automtica de servios
candidatos a partir de modelos de processos de negcio. Conferncia IADIS Ibero Americana
WWW/INTERNET 2009 (CIAWI09), Outubro, 21-23, Madrid, Espanha, (2009)
5. van der Aalst, W., Ter Hofstede, A., Kiepuzewski, B., Barros, A., Workflow patterns, In
Distributed and Parallel Databases 14(1), p.551, (2003)
6. Westland, J. C., The cost of errors in software development: evidence from industry, Journal of
Systems and Software, Volume 62, Issue 1, Pages 1-9, ISSN 0164-1212, (2002)
7. Sousa, H. P., Integrando modelagem intencional modelagem de processos, dissertao de
mestrado, PUC-Rio, Rio de Janeiro, (2012)
8. OMG, Business Process Model and Notation, http://www.bpmn.org
9. Swain, S.K., Mohapatra, D.P., Mall, R., Test Case Generation Based on Use case and Sequence
Diagram, International Journal of Software Engineering & Applications (IJSEA), Vol.3, (2010)
10. Weiss, M., Amyot, D., Business process Modeling with URN, International Journal of E-Business
Research, Vol. 1, No. 3, (2005)
11. Fraikin F., Leonhardt, T., SeDiTeC Testing Based on Sequence Diagrams, Automated Software
Engineering, 2002. 17th IEEE International Conference on, ISSN: 1938-4300, 23-27, (2002)
12. Gargantini, A.; Heitmeyer, C., Using model checking to generate tests from requirements
specifications, In: ESEC/FSE- 7, ACM Press, (1999)
13. Hartman, A., Katara, M., Olvovsky, S., Choosing a test modeling language: a survey. Proceedings
of the 2nd international Haifa verification conference on Hardware and software, verification and
testing, Haifa, Israel, (2006)
14. Heumann, J., Generating Test Cases From Use Cases, The Rational Edge: e-zine for the rational
community, (2001)
15. Kaner, C., Bach, J., Pettichord, B., Lessons Learned in Software Testing, Wiley (2001).
16. Wang, Y., Zheng, M., Test Case Generation from UML Models, Midwest Instruction and
Computing Symposium 2012, (2012)
17. Sikandar-gani, S. B., User Requirement Notation (URN), Graduate Student, Department of
Electrical and Computer Engineering, Mississippi State University, MS, USA, 2003.
18. Mogyorodi, G., Requirements-based testing: an overview, Process engineering for systems,
software and people, 2003.
19. Mingsong. C., Xiaokang. Q., Xuandong, L., Automatic test case generation for UML activity
diagrams, In: AST 06, ACM Press, 2006.
20. Myers, G. J.; Sandler, C.; Badgett, T., The Art of Software Testing, 240 pages, Wiley; 3 edition,
ISBN-10: 1118031962, ISBN-13: 978-1118031964, (2011)
21. Neto, A.C., Subramanyan, R. Vieira, M. Travassos, G.H., A Survey on Model-based Testing
Approaches: A Systematic Review, WEASELTech07, Atlanta Georgia, USA, (2007)
22. Sousa, H. P., Azevedo, L.G., Santoro, F.M., Identificao Automtica de Servios em Uma
Abordagem SOA. Relatrios Tcnicos do Dep. de Informtica Aplicada da UNIRIO, n 0002, (2011)
23. van der Aalst, W., ter Hofstede, A, Kiepuzewski, B., Barros, A., Advanced workflow patterns, 7th
International Conference on Cooperative Information Systems, LNCS 1901, pp. 1829, (2000)
24. Pourshahid, A., Amyot, D., Peyton, L., Ghanavati, S., Chen, P.; Weiss, M.; Forster, A. J., Business
process management with the user requirements notation, International MCETECH Conference on
e-Technologies, pp.3-15, (2009)
25. Rosenberg, D., Use Case Thread Generation for Acceptance Testing From Theory to Practice,
ICONIX, http://iconixsw.com/
26. Russell, N., Ter Hofstede. A., Edmond, D., van der Aalst, W., Workflow Data Patterns, QUT
Technical report, FIT-TR-2004-01, Queensland University of Technology, Brisbane, (2004)
27. Srivastava, P.R., Combining UML Interaction Diagrams and State-Charts for Testing of Object
Oriented Software Systems, Journal of Information and Computing Science, Vol. 4, No. 1, pp. 056-
064, ISSN 1746-7659, England, UK, (2009)
28. Swain, R.K., Behera, P.K., Mohapatra, D.P., Minimal Test Case Generation for Object-Oriented
Software with State Charts, International Journal of Software Engineering & Applications (IJSEA),
Vol.3, No.4, (2012)
29. Scheer, A.G., Methods ARIS 7.0, (2005)
30. Brando, B. C. P.; J. C., Silva, Identificao automtica de servios a partir de processos de negcio
em BPMN, TCC, Departamento de Informtica, UNIRIO, (2013)
31. R.J.A. Buhr, R.S. Casselman, Use Case Maps for Object-Oriented Systems, Prentice Hall, (1996)
32. D. Buchs, L. Lucio, A. Chen, Model checking techniques for test generation from business process
models, Reliable Software Technologie-Ada-Europe, LNCS, Vol 5570, pp59-75, Springer, (2009)