Anda di halaman 1dari 6

(IJCNS) International Journal of Computer and Network Security, 73

Vol. 2, No. 9, September 2010

A Graph-based Testing of UML2 Sequence


Diagram
Yujian Fu1 and Sha Li2
1
Alabama A&M University, Department of Computer Science
Normal AL, 35762 USA
yujian.fu@aamu.edu
2
Alabama A&M University, Department of Education
Normal AL, 35762 USA
sha.li@aamu.edu

Abstract: Correct functioning of object-oriented software UML models as a source of information in software testing
systems depends upon the successful interaction of objects and [1, 5, 6, 7, 9, 12, 15, 19, 21, 24, 27, 26, 28, 14]. Many UML
classes. While individual classes may function correctly, several design artifacts have been used in different ways to perform
new faults can arise when these classes are integrated together. different kinds of testing. For instance, UML statecharts
The interaction among classes has increased the difficulty of have been used to perform unit testing, and interaction
object-oriented testing dramatically. Currently traditional
diagrams (collaboration and sequence diagrams) have been
approaches generates testing paths from source code or UML1
diagram lacks of analysis and puts obstacles of automation of
used to test class interactions.
test case generation. In this paper, we present an integrated As the major benefit of object oriented programming,
approach to enhance testing of interactions among classes. The encapsulation aims at modularizing a group of related
approach combines UML2 sequence diagrams and statecharts functionalities in classes. However, a complete system-level
hierarchically and generate test paths based on message flow
functionality (use case) is usually implemented through the
graph. We have applied it to a case study to investigate its fault
detection capability. The results show that the proposed
interaction of objects. Typically, the complexity of an OO
approach effectively detects all the seeded faults. As a result, system lies in its object interactions, not within class
this work provides a solid foundation for further research on methods which tend to be small and simple. As a result,
automatic test case generation, coverage criteria analysis of complex behaviors are observed when related classes are
sequence diagram based object oriented testing. integrated and several kinds of faults can arise during
integration: interface faults, conflicting functions, and
Keywords: Software testing, UML model, sequence diagram,
missing functions [4]. Thus testing each class independently
statecharts diagram.
does not eliminate the need for integration testing. A large
number of possible interactions between collaborating
1. Introduction classes may need to be tested to ensure the correct
communication among classes and further functionality of
Nowadays, object-oriented paradigm has become a popular the system.
technology in modern software industry due to several
distinguish features, such as encapsulation, abstraction, and More and more software developers use UML and associated
reusability to improve the quality of software. However, visual modeling tools as a basis to design and implement
along with the development of object-oriented software, their applications. In addition, UML sequence diagram is
compared to testing of procedural software [10, 4], OO widely used for specifying the dynamic behaviors of classes
features also introduce new challenges for testers: and contains necessary information about object
communications and interactions between objects may give communications in terms of object life lines that is more
rise to subtle errors that could be hard to detect. Although, propitious to object-oriented software testing. Therefore, in
most traditional unit testing and system testing techniques the research reported in this paper, UML sequence diagram
may also be applicable to object-oriented testing, it still are used as a basis to generate message flow graph (MFG)
makes a great difference for testing of procedural software hierarchically. Firstly, we discuss an approach to generated
and object-oriented software since object communication hierarchical MFG based on sequence and state chart
and interaction may introduce more complicated and diagram of corresponding objects. After that, a verification
unforeseen situations. Therefore, it is necessary to explore method is provided for the coverage criteria.
new and effective object-oriented testing technique in theory The remainder of the paper is organized as follows. Section
and practice. 3 presents a brief survey of the related works in the areas of
The Unified Modeling Language (UML) has emerged as the state-based testing and UML-based test path generation. A
de facto standard for analysis and design of OO systems. description of classification with respect to UML2 diagrams
UML provides a variety of diagramming notations for is given in Section 2. Section 4 presents an approach to
capturing design information from different perspectives. generate a hierarchical message flow graph based test cases.
This approach can also derive independent testing path. A
In recent years, researchers have realized the potential of case study of a web-based information system is illustrated
74 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 9, September 2010

in Section 5. Conclusive remarks and future work are, transition system. The formalization of model based testing
finally, indicated in Section 6. represents a new trend of state based testing.
Although many works had been done on the OO testing of
2. Related Works sequence diagram and statecharts diagram, this work is
different from the above unit level testing in two aspects.
Traditional testing strategies for procedural programs, such First, this work presents a hierarchical synthesized approach
as data flow analysis and control flow analysis cannot be to sequence diagram testing using a message flow graph
directly applied to OO programs [22]. Extensions of these (MFG). The proposed MFG is generated from the statechart
techniques for OO programs have been proposed by Buy et that supports message generation in the sequence diagram.
al. [9] and Martena et al. [25]. A structural test case Secondly, the hierarchical structure provides a novel graphic
generation strategy by Buy et al. [8] generates test cases based testing technique for OO program validation.
through symbolic execution and automates deduction for the
data flow analysis of a class. Kung et al. [20] proposed an
idea to extract state models from the source code, whereas 3. Graph based Testing Approach
others suggest test generations from pre-existing state-
The run-time behavior of an object-oriented system is
models [12, 13, 29]. In the sections below, we will discuss
modeled by well-defined sequences of messages passed
more specific UML-based testing techniques.
among collaborating objects. In the context of UML, this is
Tse and Xu [30] have proposed an approach to derive test usually modeled as interaction diagrams (sequence and/or
cases from Object Test Models (OTM). State space collaboration diagrams). In many cases, the states of the
partitions of the attributes of a class are used with the OTM objects sending and receiving a message at the time of
to generate a test tree. The actual test cases are derived from message passing strongly influence their behavior in
the test tree. Nori and Sreenivas [26] have proposed a following aspects:
specification-based testing technique that splits the
• An object receiving a message can provide different
specifications of a class into structural and behavioral
functionalities in different states.
components. Structural aspects define the attributes and
method specifications of a class, whereas state machine is • Certain functionalities may even be variable or
used to defined the behavioral component that describes the unavailable if the receiving object is not in the
sequence of method invocation. In the work of [12, 28], an correct state.
idea of converting test generation into an AI planning
problem was proposed. UML statecharts are processed by • The functionality of providing object may also
planning tools and used to produce AI planning depend on the states of other objects including the
specifications. The test cases are generated based on the sending object of a message.
processed statecharts. Another example of statecharts based In this work, a graph based testing technique is proposed,
test case generation technique was proposed by Kim et al. which is on the idea that the communication between objects
[18]. These statecharts are transformed to Extended Finite should ideally be exercised (represented by sequence
State Machines (EFSMs) to generate test cases and then use diagram) for all possible states of the objects involved
traditional control and data flow analysis on the generated (statecharts diagram). This is of particular importance in the
test cases. context of OO software as many classes exhibit an
Several state-based approaches were proposed based on interaction state-dependent behavior. Such testing objective
state-chart or finite state machine. In the work of [23], Li et is implemented by generating a graph-based testing
al. presented an approach to testing specific properties of approach and testing path on message flow graph (MFG) on
reactive systems. Kim et al. [17] used statecharts to generate the defined criteria. The proposed technique can be applied
test sequences for Java-based concurrent systems. during the integration test phase, right after the completion
Kansomkeat and Rivepiboon [16] have converted UML of class testing. It consists of the following three steps:
statecharts into an intermediate model known as Testing 1. Message Flow Graph (MFG) Generation: We
Flow Graph (TFG). This graph reduces complexities of investigate the sequence diagram of the (sub)system,
statecharts and produces a simple flow graph. Test cases are and generate corresponding MFG following the MFG
finally generated by traversing the TFG using state and generation algorithm (will be discussed in the
transition coverage criteria. The proposed methodology was following section).
evaluated using mutation testing. Results of an experiment
carried out to validate the application of Round Trip Test 2. Hierarchical Testing Path Generation: Based on the
Strategy [4] on UML statecharts are presented in Briand et MFG of sequence diagram, for each object that we
al. [6]. Authors also propose improvements on the strategy concern, we refer the state-chart diagram and
based on the analysis of these results. Swain et al. has generate a MFG for some node of MFG.
proposed a method of statecharts and activity model based 3. Coverage Criteria: We test the sequence diagram
testing technique by constructing an intermediate model against the coverage criteria that we defined.
named state-activity diagram (SAD) [29]. Besides, some
recent work [11] was proposed using formalization on the In the following sub-sections, we describe the proposed
statechart diagram to perform model-based testing. In the testing technique in greater detail with the help of a simple
work of [3] a semantic model is proposed using the labeled example.
(IJCNS) International Journal of Computer and Network Security, 75
Vol. 2, No. 9, September 2010

3.3 Definitions node nj is defined as a sequence of connected acyclic nodes


First, we introduce message flow graph generation. As we from node ni to node nj in G. For any node nk ∈ G, and nk ∉
see, one of the basic communication among objects is DP i, there does not exist a dependency path Dpi’ such that
message passing. In sequence diagram, we represent all nk ∈ DP i’ and DP i ⊆ DP i’ .
communications as messages. Based on the sequence In Fig. 1, N0, N1, N5, N7, N8 is a DP. To generate test cases,
diagram and each object’s behavior (state-chart diagram), our purpose is to find the enough independent dependency
we can build a message flow graph (MFG). path (DP) from a completed MFG.
In this work, we refer message to be as object, expression, Definition 3 (Independent Dependency Path (IDP))
primary variable, and other specific terms defined in UML2.
For instance, a message can be Students = new Student() Given a MFG G =< N, E, L, I >, two dependency paths (Dpi,
which indicates an object is instantiated. An arithmetic DP j ∈ G) are independent from each other iff there is at
expression z = x+y, a variable double salary, or a stereo type least one node (ni) in one DP (DP i) that is not covered in
<< create >> can be a message. Therefore, in this work, another DP (DP j), i.e. ni ∈ DP i ∧ ni ∉ DP j, where ni ∈ G,Dpi,
term refers to any legal statement that can be allowed to DP j ⊆ G.
used in sequence diagram and state-chart diagram in UML2. To identify IDP, a key issue is to find the predicate node,
In the next, we first define Message Flow Graph (MFG) that since predicate node usually is the one that split the program
would be used in the description of our methodology. to branches. Here we define predicate node as follows.
Definition 4 (Predicate Node) Any boolean condition that
needs to be evaluated can be represented by a predicate
node. A predicate node is associated with more than one
edges that have logic relation.
Graphically, a predicate node is denoted by a box, and
anyregular node as a circle graphically. In Fig. 1, node N2 is
a predicate node, and others are regular nodes. Predicate
nodes take the program to multiple paths and act as the key
nodes of program branches. Predicate nodes are usually by
more than one dependency path. For example, in Fig 1, N0,
N2, N3, N5, N7, N8 and N0, N2, N4, N6 are two IDPs regarding
to predicate node N2.

3.4 MFG generation


Figure 1. Example of Message Flow Graph. This is a systematic approach to generate test cases based on
UML2 sequence diagrams. Given any sequence diagram S D
Definition 1 (Message Flow Graph (MFG)) Message Flow in UML2, we have following two big steps in pseudocode
Graph (MFG) is defined as a directed graph with (N, E, L, form. Subsequently this method is explained using an
V), where example.
• N is a set of nodes, which represent a set of
messages that connect objects in the sequence 1. First, for any message that labeled in SD, we generate a
diagram, denoted by circles. node by following life line of each object. Each node has
• E is a set of edges, which represent flow direction affiliation of its owner (object), and we use dot notation to
between objects, and are denoted by arrows. denote the owner relation.
• L is a label function that maps each node and edge 2. For message mi that involves internal state transitions
to a set of terms (alphabets (constants and (such as method invocation, object creation, and more
variables) and expressions on alphabets), and actions), we generate a subset of MFG for the node (mi).
• I is a set of initial nodes that indicate the starting of
the program. Therefore, each node may be hierarchically represented by a
set of nodes and edges that form a MFG. By traversing this
Each node represents a message, which can be a data MFG, we can tell if the message mi causes the object’s state
(parameter or argument), a method call, or a memory, a transition. In addition, we can tell if message mi+1 is the one
plain text. Each edge represents the dependency relation after message mi of object execution. This approach can
between two nodes, and denoted by (N1, N2), where N1 and connect black-box testing on the inter-class level with white
N2 are two nodes. The direction of the edge N1, N2 is from box testing on the intra-class level. The advantages can be
node N1 to node N2. The direction shows the dependency of not only we can tell if a message is passed properly when an
a given node on others. For example, given a MFG G in Fig. error is detected, but also can we tell internally what causes
1, edge (N1, N2) < G, while edge (N0, N2) ∈ G. the message not passed properly internally of the object.

We define dependency path as follows. For example, in Fig. 1, assume node N6 involve a series of
state transitions, then we can generate a subset of MFG GN6
Definition 2 (Dependency Path (DP)) Given a MFG G =< for it (Fig. 2).
N, E, L, I >, a dependency path (DP i) in G from node ni to
76 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 9, September 2010

Generation of Predicate Node in Sequence Diagram:


Any fragment in sequence diagram (of UML2) can generate
a predicate node whose condition is evaluated to be a
boolean value. The fragment with the condition is formed a
predicate node. Each predicate node can cause more than
one execution branches. Corresponding to fragment of
sequence diagram of UML2, therefore, we can have three
types of predicate node:

Figure 2. A hierarchical structure of MFG shown in Figure


1.
Definition 5 (MFG of Sequence Diagram (SD)) Let
sequence diagram SD be defined as SD, < O, M, Ix >, where
O be the set of object, M be the message set of a class
instance; Ix be the set of index of all messages in SD. Let
MFG G be the message flow graph of sequence diagram
(SD), where GS D =< N, E, L, I > and
• N is the set of all the observable messages mi of set
M, where mi ∈ M;
• E is the set of message communication sequences,
e.g., there is message mi ∈ M and mi+1 ∈ M, the
correspond nodes ni; ni+1 ∈ N form an edge < ni; Figure 3. MFG predicate node of optional fragment.
ni+1 >.
1. Alternative predicate node: for ALT fragment, we have an
• L is the set of any message identifiers or pseudo alternative predicate node which introduces the program to
code. two different path depending on the condition satisfaction.
• I is the set of initial nodes ninit, where init ∈ Ix, and 2. Loop predicate node: for LOOP fragment, we have an
∀i ∈ Ix, init ≤ i. iteration predicate node with regarding to condition. The
predicate node takes the program to a certain path when the
It is worth to note that MFG is generated upon the message condition is met. Otherwise, the predicate node takes the
passing through objects. The hierarchical subset MFG is program to a node that outside the iteration.
generated upon the state-chart diagram, then the potential
question is how to identify the messages in state-chart 3. Optional predicate node: for OPT fragment, there is a
diagram. To solve this problem, we extend the message used condition defined. If the condition is evaluated to be true,
in the MFG to including states. Therefore, we can extend then execute this optional part; otherwise, skip the optional
the above two-step generation algorithm to the state-chart fragment. A predicate node of MFG is shown in Fig. 3.
diagram by following steps: In addition, we have predicate nodes for state-chart
1. Generate a node in the subset MFG for each state in the diagram. The predicate node is generated whenever there is
state-chart diagram. guard condition labeled for a transition or a state action.
2. Generate a predicate node for each evaluation condition Similarly, the predicate node indicates different execution
defined in the label of a transition. path inside the object depending on the evaluation of the
condition.
3. Generate an edge for each transition between two states.
4. Generate a label for each label of a transition. 3.5 Testing Path Generation
We first generate the MDP in SD, then for some messages As the discussion above, atomic generating independent
(m ∈ M and M ∈ S D) we refer to SC and generate MDP in message dependency path is the essential element of
SC. Let the algorithm of MDP generation in SD be integrating testing. As compound message dependency path
generateMFGS D, and the algorithm of MDP generation in is related to sequence diagram and statechart diagram, the
SC be generateMFGSC. The algorithms are shown in generation of message dependency path concerns the parse
following. of both sequence and statechart diagrams. In this work, we
(IJCNS) International Journal of Computer and Network Security, 77
Vol. 2, No. 9, September 2010

define both sequence and statechart diagrams in XML References


format so that it’ll be easily to be read and analyzed.
[1] Abdurazik and J. Offutt. Using uml collaboration
In order to solve the generation problem precisely, we make diagrams for static checking and test generation.
two assumptions as follows. pages 383–395. Springer, 2000.
UML Statechart diagram here is deterministic, consistent, [2] J. H. Andrews. Is mutation an appropriate tool for
and self-contained. There is no sub state, nested state and testing experiments. In In ICSE 05: Proceedings of
concurrent state. Only message event might be taken the 27th international conference on Software
account of. engineering, pages 402–411. ACM Press, 2005.
[3] H. R. Asaadi, R. Khosravi, M. Mousavi, and N.
Message dependency path here is based on life line order Noroozi. Towards Model-Based Testing of Electronic
and mapping relationship of the message in sequence Funds Transfer Systems, May 2010.
diagram and the actions in state-chart diagram. [4] R. V. Binder. Testing Object-Oriented Systems-
Let M be the message set of class instance; Gm be the set of Models, Patterns, and Tools. Addison-Wesley
guard conditions with respect to message m (m ∈ M); p be Professional, Novmember 1999.
independent MDP with respect to message m. [5] K. Bogdanov. Automated Testing of Harels
statecharts. PhD thesis, University of Sheffield, 2000.
Generating atomic message dependency path from UML [6] L. C. Briand, M. Di Penta, and Y. Labiche. Assessing
sequence and state-chart diagram comprises the following and improving state-based class testing: A series of
steps: experiments. IEEE Trans. Softw. Eng., 30(11):770–
• Extract information from UML sequence and 793, 2004.
statechart diagram, and creating message [7] L. C. Briand and Y. Labiche. A uml-based approach
connecting table. to system testing. In UML’01: Proceedings of the 4th
International Conference on The Unified Modeling
• Identify message dependency path from sequence Language, Modeling Languages, Concepts, and
diagram and message response table. Tools, pages 194–208, London, UK, 2001. Springer-
Verlag.
• Generate a hierarchical MFG based on the message
[8] U. Buy, A. Orso, and M. Pezz. Automated testing of
connecting table and diagrams.
classes. In Proceedings of the International
• Generate a set of independent message dependency Symposium on Software Testing and Analysis, pages
paths from MFG. 39–48, New York, NY, USA, 2000. ACM Press.
[9] U. Buy, A. Orso, and M. Pezze. Automated testing of
For any sequence diagram, it can be generated a message
classes. SIGSOFT Softw. Eng. Notes, 25(5):39–48,
flow graph (MFG) in the top level if assume there is no
2000.
internal investigation of any objects. However, if we need to
[10] W. K. Chan, T. Y. Chen, and T. H. Tse. An overview
traverse the internal states for some message of some object,
of integration testing techniques for object-oriented
the MFG will be hierarchical. For example, in Fig. 2, there
programs. In Proceedings of the 2nd ACIS Annual
are 5 IDPs considering the hierarchy representation of node
International Conference on Computer and
N6.
Information Science (ICIS 2002), pages 696–701.
2002.
6. Conclusion and Future Work [11] V. A. de Santiago Junior, M. Cristia, and N. L.
Vijaykumar. Model based test case generation using
In this paper, we have presented a new strategy for class statecharts and Z: A comparison and a combined
integration testing that is based on a hierarchical approach approach. Technical Report INPE-16677-RPQ-850,
that combines information from sequence diagram and 2010.
statechart diagrams and converts into the form of a direct [12] P. Frohlich and J. Link. Automated test case
flow graph based on message communication (MFG). The generation from dynamic models. In ECOOP ’00:
motivation is to exercise class interactions in the context of Proceedings of the 14th European Conference on
multiple state combinations in order to detect program Object-Oriented Programming, pages 472–492,
faults. Therefore, it takes into account the messages of all London, UK, 2000. Springer-Verlag.
objects involved in a communication to exercise class [13] L. Gallagher, J. Offutt, and A. Cincotta. Integration
interactions in the context of integration testing. For testing of object-oriented components using finite
instance, if the functionality provided by an object depends state machines: Research articles. Softw. Test. Verif.
on the message of other objects, then the proposed technique Reliab., 16(4):215–266, 2006.
can effectively detect faults occurring due to invalid object [14] Hartman and K. Nagin. The agedis tools for model
messages. based testing. SIGSOFT Softw. Eng. Notes,
Acknowledgment 29(4):129–132, 2004.
[15] J. Hartmann, C. Imoberdorf, and M. Meisinger.
UML-based integration testing. In ISSTA’00:
Proceedings of the 2000 ACM SIGSOFT
Authors would like to thank all reviewers for their kind
international symposium on Software testing and
comments and valuable suggestions.
78 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 9, September 2010

analysis, pages 60–70, New York, NY, USA, 2000. International Workshop on Software Engineering
ACM. Tools and Techniques, 2001.
[16] S. Kansomkeat and W. Rivepiboon. Automated- [27] H. Reza, K. Ogaard, and A. Malge. A model based
generating test case using uml statechart diagrams. In testing technique to test web applications using
SAICSIT ’03: Proceedings of the 2003 annual statecharts. In ITNG’08: Proceedings of the Fifth
research conference of the South African institute of International Conference on Information Technology:
computer scientists and information technologists on New Generations, pages 183–188, Washington, DC,
Enablement through technology, pages 296–300, , USA, 2008. IEEE Computer Society.
Republic of South Africa, 2003. South African [28] M. Scheetz, A. v. Mayrhauser, R. France, E.
Institute for Computer Scientists and Information Dahlman, and A. E. Howe. Generating test cases
Technologists. from an oo model with an ai planning system. In
[17] S.-K. Kim, L.Wildman, and R. Duke. A uml ISSRE ’99: Proceedings of the 10th International
approach to the generation of test sequences for java- Symposium on Software Reliability Engineering,
based concurrent systems. In ASWEC ’05: page 250, Washington, DC, USA, 1999. IEEE
Proceedings of the 2005 Australian conference on Computer Society.
Software Engineering, pages 100–109,Washington, [29] S. K. Swain, D. P. Mohapatra, and R. Mall. Test case
DC, USA, 2005. IEEE Computer Society. generation based on state and activity models. Journal
[18] Y. Kim, H. Hong, D. Bae, and S. Cha. Test cases of Object and Technology, 9(5):1–27, 2010.
generation from uml state diagrams. Software, IEE [30] T. Tse and Z. Xu. Class-level object-oriented state
Proceedings, 146(4):187–192, 1999. testing: A formal approach. Technical Report HKU
[19] Y. Kim, H. S. Hong, S. Cho, D. H. Bae, and S. D. CSIS Technical Report TR-95-05, Department of
Cha. Test cases generation from uml state diagrams. Computer Science, The University of Hong Kong,
In In IEEE Proceedings: Software, pages 187–192, 1995.
1999. [31] Q. ul-ann Farooq, M. Z. Z. Iqbal, Z. I. Malik, and M.
[20] D. C. Kung, P. Hsia, Y. Toyoshima, C. Chen, and J. Riebisch. A model-based regression testing approach
Gao. Object-oriented software testing: Some research for evolving software systems with flexible tool
and development. In HASE ’98: The 3rd IEEE support. Engineering of Computer-Based Systems,
International Symposium on High-Assurance Systems IEEE International Conference on the, 0:41–49,
Engineering, pages 158–165, Washington, DC, USA, 2010.
1998. IEEE Computer Society.
[21] D. C. Kung, N. Suchak, J. Gao, P. Hsia, Y. Authors Profile
Toyoshima, and C. Chen. On object state testing. In
in Proceedings of Computer Software and Yujian Fu is an assistant professor at department of computer
Applications Conference, pages 222–227. IEEE science. Dr. Fu received the B.S. and M.S. degrees in Electrical
Computer Society Press, 1994. Engineering from Tianjin Normal University and Nankai
[22] D. C. Kung, N. Suchak, J. Gao, P. Hsia, Y. University in 1992 and 1997, respectively. In 2007, she received
Toyoshima, and C. Chen. On object state testing. In her Ph.D. degree in computer science from Florida International
in Proceedings of Computer Software and University. Dr. Yujian Fu conducts research in the software
verification, software quality assurance, runtime verification, and
Applications Conference, pages 222–227. IEEE
formal methods. Dr. Yujian Fu continuously committed as a
Computer Society Press, 1994. member of IEEE, ACM and ASEE.
[23] S. Li, J. Wang, and Z.-C. Qi. Property-oriented test
generation from uml statecharts. In ASE ’04: Sha Li is an associate professor at department of curriculum,
Proceedings of the 19th IEEE international teaching and educational leadership, school of education of
Alabama A&M University. Dr. Sha Li received his doctorial
conference on Automated software engineering,
degree of educational technology from Oklahoma State University,
pages 122–131, Washington, DC, USA, 2004. IEEE 2001. Sha Li’ research interests include distance education,
Computer Society. instructional technology, instructional design and multimedia for
[24] W. Linzhang, Y. Jiesong, Y. Xiaofeng, H. Jun, L. learning.
Xuandong, and Z. Guoliang. Generating test cases
from uml activity diagram based on gray-box method.
In APSEC ’04: Proceedings of the 11th Asia-Pacific
Software Engineering Conference, pages 284–291,
Washington, DC, USA, 2004. IEEE Computer
Society.
[25] V. Martena, A. Orso, and M. Pezz´e. Interclass
testing of object oriented software. In ICECCS ’02:
Proceedings of the Eighth International Conference
on Engineering of Complex Computer Systems, page
135, Washington, DC, USA, 2002. IEEE Computer
Society.
[26] A. V. Nori and A. Sreenivas. A technique for model-
based testing of classes. In Proceedings of the Second

Anda mungkin juga menyukai