A Testing Tool for Web Applications Using a Domain-Specific Modelling Language and the NuSMV Model Checker
|
|
|
- Gordon Atkins
- 10 years ago
- Views:
Transcription
1 A Testing Tool for Web Applications Using a Domain-Specific Modelling Language and the NuSMV Model Checker Arne-Michael Törsel Fachhochschule Stralsund Zur Schwedenschanze , Stralsund, Germany [email protected] Abstract Test generation from formal models using model checking software is an established method. This paper presents a model-based testing approach for web applications based on a domain-specific language model. It is shown how the domain-specific language is transformed into the input language of the NuSMV model checker and how the resulting traces are converted into executable test scripts for various test automation tools. The presented approach has been implemented with comprehensive automation in a research tool which architecture is outlined. Index Terms web applications, model-based testing, model checking, test automation I. INTRODUCTION Functional web application testing on system level is usually conducted using test automation tools with tool-specific command scripts. However, manually building and especially maintaining the test suites is expensive. It can be a major problem particularly in agile development processes with fluid requirements that are causing frequent adaptions of the application, as effective regression testing needs to be available all the time. Model-based testing (MBT) is an approach to improve the efficiency of test design. Formal models, that explicitly capture the software s desired properties, are used to derive test s. Although test s could manually be constructed from the models, algorithms are typically employed for automatic test generation. This enables systematic and efficient test generation suitable for different testing requirements. When the application requirements change during software development and the need for test adaption arises, the models are adapted accordingly and test s can then be generated again from the updated models. This typically requires significantly less effort than adapting the test s. A concretisation step is required, as, in most s, the test s generated from the models lack specific implementation details needed to constitute test automation tool scripts. For test process efficiency, it is important that this concretization step can be automated as well. The discussed cost of scripted test automation associated with the test suite maintenance can thus be reduced and the (regression) test effectiveness be increased as the test s are available earlier. Model-based testing has been applied to the domain of web application black box testing for several years [1]. Still, there are issues with the general applicability of the proposed methods and the ability for process automation which hinder the application of these methods in practical areas, as discussed in the related work section. We are presenting in this paper a model-based testing approach using a web application domain-specific language (DSL) based on extended finite state machine (EFSM) mechanisms. There are several principal methods for test generation from transition-based models as EFSMs [2]. One well-known method is using the ability of model checking software to find counterexamples to claimed properties of the model [3]. The idea is to formulate a model coverage goal as a model property to be refuted by the model checker. The model checker then, if it exists, presents a counterexample trace that can be used as a test sequence. In the approach presented with this paper, the model checker NuSMV [4] is used to produce test sequences. The automatic transformation procedure of the web application DSL to the NuSMV input language is described. Furthermore, the transformation of the traces returned from NuSMV into test scripts for various test automation tools is illustrated. The primary contribution of this paper is the description of the model based testing approach, in particular the detailed description of the transformation of the DSL into the NuSMV input language. The rest of the paper is organized as follows. Section II contains an overview about the model-based testing workflow. Section III reviews the domain-specific language used for modelling web applications that was introduced in an earlier paper [5]. The transformation of the domain-specific language to the NuSMV input language is described in detail in Section IV. Section V illustrates the presented concepts with excerpts of a study applying the model based testing approach to a real world application. Finally, in section VI related work is reviewed and its relation to the work presented here is discussed.
2 Coverage Criterion UI Mappings Tool Specific Template Web Application Model in DSL Web Model Transformer Model & Specifications in NuSMV Language NuSMV NuSMV Counterexample Traces Test Case Builder Test Tool Independent Tests Test Transformer Tool Specific Test Scripts DSL and the coverage criterion are translated into a NuSMV model. The Kripke structure is constructed from the DSL and the coverage criteria selected by the user are translated into temporal logic expressions (either Computation Tree Logic/CTL or Linear Temporal Logic/LTL, depending on the criterion) to be checked. This is explained in detail in section IV of the paper. NusMV is executed and the generated specifications are checked. The resulting counterexample traces are converted into test tool independent test s. At this point application implementation specific information that were missing from the DSL for abstraction reasons are integrated into the test s. This is done using an UI mapping file that serves to map abstract identifiers from the model to concrete information needed for test execution as for example HTML Id s or XPath expressions to locate web page elements or URLs of web pages that need to be accessed directly. Using a template for the targeted test automation tool, test scripts are generated from the tool independent test s. Therefore this intermediate test format serves to decouple the test generation from a specific tool. New test tools can be supported simply by adding templates. At the moment, the research tool supports the two popular tools Selenium 2 and Canoo WebTest. After execution of the test s, if there has been an error, the cause needs to be traced back to model. This is currently supported by meta information that are inserted into the generated test scripts. Fig. 1. Schema of model based testing workflow II. MODEL-BASED TESTING WORKFLOW This section outlines the model-based testing workflow that has been implemented as a research tool 1 using the Java programming language and Eclipse Modelling Framework/Xtext technology 2. We have designed a model-based black box testing approach for web applications with extensive automation along the whole process from the model to executable test s. This process is depicted in Figure 1. The process starts with building the web application model using the web application DSL. The primary reason for choosing a textual modelling notation over a graphical one for the research tool is that comfortable editor support could be achieved without much effort using Eclipse Xtext. There is also some indication in the literature [6], that textual modelling is more efficient for model-based testing purposes than graphical modelling. Nevertheless, a complementary graphical editor could be implemented quite easily using the Eclipse Graphical Modelling Framework (GMF) as well. To generate test s, a coverage goal has to be selected by the user. There are popular criteria as for example covering all transitions or trying to build a tour over all states. The III. THE DOMAIN-SPECIFIC LANGUAGE Considering the target to generate executable test s for test automation tools with a high degree of automation, four principal requirements for a modelling language were identified: Modelling the structure of a web application: this is achieved with the concept of Views and user caused Transitions to other views. A transition from one view to another view is triggered by the user, for example by clicking a link, a button or even an arbitrary element. Expressing dependencies between workflows in the model: in analogy to the EFSM mechanisms, this is achieved by introducing model variables that serve as guards for transitions and can be assigned values as an effect of transitions. Referencing external test data: this is realized in the form of key-value containers through a special data type Tuple. Abstracting from implementation specification data as for example HTML Ids: as explained in the previous section, this is important to keep the model abstract and easy to understand. Furthermore, when data as an HTML button Id changes, the necessary adaptation has to be made only once in the UI mapping file not multiple times in the model file. This benefits the maintainability. Listing 1 shows an example with all language constructs that play a role in the transformation into the NuSMV input language, Figure 2 shows a graphical representation of the
3 1 Tuple u s e r = UserDataSource 2 Bool l o g g e d I n = f a l s e 4 View S t a r t { 5 Text Welcome [ u s e r. username ] When loggedin == t rue 6 Text P l e a s e l o g i n When l o g g e d I n == f a l s e Guard: [loggedin == false] Login View 8 T r a n s i t i o n Login { 9 When l o g g e d I n == f a l s e 10 Link l o g i n. l i n k 11 Start View Assignment: <loggedin = true> 13 T r a n s i t i o n P r o f i l e { 14 When l o g g e d I n == true 15 Link p r o f i l e. l i n k 16 News View Guard: [loggedin == true] Profile View 18 T r a n s i t i o n News { 19 Link news. l i n k Fig. 2. Graphical representation of the example 24 View Login { 25 Text P l e a s e e n t e r l o g i n i n f o r m a t i o n 27 T r a n s i t i o n S t a r t { 28 Input username. i n p u t = [ u s e r. username ] 29 Input password. i n p u t = [ u s e r. password ] 30 Button l o g i n. s ubmit 31 Assign l o g g e d I n = true View P r o f i l e { View News { Listing 1. Model example source code modelled scenario. The example defines four views using the keyword View: Start, Login, Profile and News. The keyword Transition is used to declare user triggered transitions to other views within a View block. Because of the guard condition stated by the keyword When at line 9, the Profile view is only accessible after the user has logged in in the Login view. At line 2, the referenced Boolean variable loggedin is declared. In this example it stores, whether or not the user is logged into the application. The variable is set from its initial value false to true as part of the transition from the Login view back to the Start view (lines 27-32) using the keyword Assign at line 31. Once the user has logged in, the Login view is no longer accessible because of the guard condition at line 14. The News view is always accessible from the Start view because no guard condition is attached to the transition from the Start view to the News view at lines All three transitions from the Start view are triggered by the user clicking a link - this is expressed by the keyword Link. The parameter to this keyword is a reference key that is looked up from the UI mapping file to get the implementation specific information later during test creation. The transition from the Login view to the Start view (lines 27-32) is modelled as a web formular, where input from the user is received. Here, two input fields are filled with test data from the Tuple variable user, but static data could be used here as well. In this, a button has to be clicked to trigger the transition. In the same manner as with the links, input elements and buttons are referenced by abstract keys to be looked up later from the UI mapping file. Listing 2 shows an excerpt of an UI mapping file for the example model. The UI mapping file is a simple XML-based file format that is referenced by the DSL model through the MappingFile keyword. The Text keyword in lines 5 and 6 serve as test oracles. When building test scripts, they are converted into test toolspecific commands that try to locate the given text in the web page. The text expression may be dynamic by including variable values. There are several other features of the DSL not covered in the listing source code, for example: Arbitrary sophisticated test oracles can be produced using pre-fabricated XPath expressions stored in the UI mapping file that can be parameterized during test generation with model variable values. In the generated test script, a command is inserted that will evaluate the web page, checking for the existence of elements matching the XPath expression. The model source code can be distributed into multiple files using an import mechanism to improve the manageability of the model. In the editor, references are then resolved across files. Through the Forward keyword, conditional redirects of the web application can be modelled. This is explained in more details in the next section. IV. CONSTRUCTION OF THE NUSMV MODEL A. Converting the DSL This section describes how the application model DSL is transformed into the NuSMV input language. Section V contains a comprehensive example study for further clarification. The described transformation process is performed
4 <mbt4web> <view name= S t a r t u r l = h t t p : / / l o c a l h o s t / forum /> <l i n k name= p r o f i l e. l i n k r e f t y p e = u r l r e f d a t a = / p r o f i l e /> <i n p u t name= username. i n p u t r e f t y p e = i d r e f d a t a = username /> <b u t t o n name= l o g i n. s ubmit r e f t y p e = x p a t h r e f d a t a = / / i n p u t = submit ] / > </mbt4web> Listing 2. UI mapping file for the model example automatically without any user assistance being required in the research tool. Scalar variables named view and trans are created for all View and Transition elements of the application model. The view variable contains the names of all the views as symbolic values, the trans variable contains generated unique names as symbolic values for all transitions in the model. Both variables are augmented with a symbolic value named dead end marker. Using the NuSMV init constraint, the view variable is initialized to the view named Start and the trans variable is initialized to the value dead end marker. All boolean variables of the application model DSL are mapped to boolean variables in the NuSMV input language, with their initial value set to the value given in the application model. The generator keeps track of assignments to variables of the other types supported by the DSL,String and Number, using a separate mechanism. The reason only the Boolean model variables are mapped to NuSMV is that they are used in model When expressions that are converted to NuSMV next expressions, as shown in the next paragraphs. Usually, when converting state machines to NuSMV models, one variable is associated with the current state. Inside the next expression for this variable, a expression is constructed where there is one clause for every state that lists all possible subsequent states. This is not possible when converting the discussed web application model. Imagine a hypothetical situation with a variable named state, where there are two possible subsequent states from the value s1. One transition to the state s2 is unconditional, the other one to state s3 is guarded. There would have to be two clauses to be modelled in the expression: next ( s t a t e ) := s t a t e = s1 : s2 ; s t a t e = s1 & c o n d i t i o n = t r u e : s3 ; Let s assume, that the guard condition is fulfilled. In this, NuSMV would still always pick the first matching clause, selecting s2 as the next value for variable state. To circumvent this problem, another solution is used in the research tool. In the NuSMV model a next expression for the transition variable trans is inserted. One clause for every view is constructed listing all transitions leaving that view as in this example: next ( t r a n s ) := c ase view = S t a r t : { l i s t of o u t g o i n g t r a n s i t i o n s view = : { l i s t of o u t g o i n g t r a n s i t i o n s At this point, the guard conditions are not considered. The next expression for the view variable is generated by creating one clause for every transition. If a transition contains a guard condition expression (declared by the keyword When in the model DSL), this expression is translated to a NuSMV boolean expression and is added to the clause condition, as illustrated in the following example: next ( view ) := c ase next ( t r a n s ) = t r a n s i t i o n 1 : View2 next ( t r a n s ) = t r a n s i t i o n 2 & <c o n d i t i o n s > : View3 view = dead end marker : S t a r t ; TRUE : dead end marker ; e sac ; In the default, having the condition TRUE, the view variable is set to the value dead end marker, leading to an infinite loop in this branch of the computation tree that is detected by NuSMV. This is intentional. If a transition was selected in the next expression for the trans variable which condition is not fulfilled, this choice is invalid. To deal with views that do not have any outgoing transition, a further flag value reset marker is added to the trans variable scalar. It enables the model checker to revert to the Start view if a view is reached, where no outgoing transition is available. This is implemented as the default in the next expression for the variable trans : next ( t r a n s ) := c ase TRUE : r e s e t m a r k e r e sac Besides, in the next expression for the view variable a clause selecting the view Start is added as first : next ( view ) := c ase next ( t r a n s ) = r e s e t m a r k e r : S t a r t ; e sac Another concept important to web application testing is forwarding through conditional redirects. Imagine an application the user can log into. After logging in, whenever the user enters the start page s URL, the application transparently redirects to a personal dashboard. There is no direct transition from the start page to the dashboard. This situation is accounted for by introducing further rules that are generated with the Forward keyword in the web application model. The model DSL syntax inside View blocks is: Forward <forward view name> When <f o r w a r d c o n d i t i o n > There may be multiple forward rules inside View blocks. During the conversion into the NuSMV language, a Forward is transformed as follows: in the next expression for the view
5 variable a clause is added, that will select the forward target View, given that the current View is the forward source and the forwarding condition is met. next ( view ) := view = <source view name> & <f o r w a r d c o n d i t i o n > : forward view name ; In the next expression for the trans variable, also a clause is added, which will set the next value of the variable to dead end marker, again given that the current View is the forward source and the forwarding condition is met. next ( t r a n s ) := view = <source view name> & <f o r w a r d c o n d i t i o n > : dead end marker ; Assigning dead end marker as value for the trans variable in of a forwarding allows the test transformer to recognize the forwarding. The test transformer will then generate test script steps to verify that the forwarding target view is displayed instead of the forwarding source view. B. Converting the Coverage Criteria This section describes how the coverage criteria selected by the tool user are translated into CTL/LTL specification formulas in the NuSMV input language. The tool currently offers to: 1) Cover views or transitions separately. This means for every target a single test containing all necessary precondition steps is constructed. That is why there often is a lot of test step repetition in the test s. Imagine an application where most work flows depend on the user being logged in - the necessary login steps will be included in every generated test that depends on the login. 2) Cover groups of views or transitions (possibly all) in a single test. Such test s can only be constructed if none of the two single goals are mutually exclusive. The first coverage criterion is converted to the NuSMV input language using a CTL expression. An example is shown in the following excerpt where all views from the model in Listing 1 shall be covered separately (except the Start view which is implicitly covered because it is the application entry point). CTLSPEC NAME r e a c h P r o f i l e :=! ( EF view = P r o f i l e ) ; CTLSPEC NAME reach News :=! ( EF view = News ) ; CTLSPEC NAME reach Login :=! ( EF view = Login ) ; The CTL operator EF is used to express that there exists at least one evolution of the system where the view variable eventually holds the value of the particular View name, e. g. Profile in the first line. As the expressions are negated using the exclamation mark operator, the CTL formulas express the fact that there is no evolution of the system where that particular view is reached. By constructing a counterexample trace, NuSMV provides the generator with a sequence covering that view. This principle can be applied for covering single transitions in the very same way. The second criterion is difficult to express using a CTL formula. Because CTL is a branching time logic, it considers all possible system evolutions from a given point in time. LTL, in contrast, is a linear time logic. It considers specific evolutions of a system from a given point in time [7]. Because for this coverage criterion NuSMV has to generate a counterexample trace by refuting the claim that all goals can not be met within a single evolution of the system, it is constructed using an LTL expression. The following example shows the criterion to cover all views (again, except the Start view) from Listing 1 in a single sequence as an LTL expression. Note that the order in which the views are covered by the sequence is arbitrary and not implied by the expression. LTLSPEC NAME r e a c h a l l v i e w s :=! F (O view = P r o f i l e & O view = News & O view = Login ) ; The LTL operators F and O are used in this expression. With the operator O is stated that a fact - in this that the variable view holds a specific View name value - is true at least once in a specific evolution of the system. Then the operator F is applied to the expression inside the braces to state that this shall hold at some point in the future. Again, by negating the whole expression with the exclamation mark operator, it is stated that there is no evolution of the system where the view variable has held all the given view name values (Profile, News, Login) at least once. The counterexample presented by NuSMV then yields a sequence with all given elements covered in a valid order (if possible). As with the first criterion, this method can be applied to formulate transition coverage goals as well. More complex coverage criteria could be realized in the research tool. This is an area of ongoing enhancement. For example, using the ability to express sequences of variable values in the LTL, the tester could specify sub paths that shall be contained inside a generated test to cover typical work flows. V. CASE STUDY This section illustrates the modelling and transformation approach with a model excerpt for testing the popular open source bug tracking application Mantis 3. For the study, some core workflows as for example logging in, opening a bug, closing a bug and commenting a bug have been modelled using the discussed domain-specific language. Figure 3 displays the navigational structure of the model consisting of views and transitions represented by arrows. The model consists of 11 views and 22 transitions. In the used Mantis configuration, specific actions have to be executed by different user roles, therefore the guard conditions in the model mainly express transition dependencies on the logged-in user account. Listing 3 shows excerpts of the domain-specific model with clarifying comments. Listing 4 shows excerpts of the model in the NuSMV input language that was automatically created from the domainspecific language model in Listing 3. Note that the variable 3
6 values for the scalar transition variable trans are built using the format (start view name) (target view name) (unique identifier number) to cope with multiple parallel transitions between two views. Listing 5 shows a generated test in an intermediate format, which is the input for the transformation into test tool specific scripts. The test target that led to creation of this test was to reach the view ReportIssueConfirmation. The corresponding CTL specification is displayed in the last line of Listing 4. Notice that, while the commands in the test description format in Listing 5 are abstract, the UI specific information from the UI mapping file is already contained, i.e. the format is test tool independent but not abstract in the same way as the model is. The transformation modules in the research tool are programmed in the Xtend language from the Xtext framework. Xtend is especially suited for processing large Strings and compiles to Java sourcecode. The Java language itself or other languages running on the Java VM could be used for developing transformation modules to support further test automation tools as well. For the study, the model was built incrementally, creating small parts and verifying the resulting test s against the already existing application. This way modelling errors could be identified quickly. One lesson learned from this study therefore is that in development projects, it is advisable to build the model at the same time as the application. This way crosschecks can be performed to ensure both the validity of the application and the model, with respect to the requirements. A test-driven development approach is also feasible because the model can be created prior to the software since the implementation details are isolated in the UI mapping file. Clearly, the initial modelling effort further pays off if the generated test suite is used for regression testing, especially if it has to be maintained due to requirement changes. To gather more experience with the usability of the tool in real life development projects, more studies are planned where the development process is accompanied by the tool. VI. RELATED WORK Similarly to this paper, Li et al. [8] describe a testing approach for web applications that utilizes the NuSMV model checker for test generation. Homma et al. [9] use the SPIN model checker to both verify web application in terms of page reachability and to generate test s. Their approach is based on modelling the application by two automata: one for the page transitions and one for the internal application state transitions which are synchronized by message passing. The state transitions can be predicated by variables. Both approaches seem to target the manual construction of the model in the respective input language of the used model checker. This may be cumbersome and error-prone for all but the smallest applications. Hallé et al. [10] focus on errors caused by navigational input of the browser and use a state machine to constrain the allowed navigation sequences. NuSMV is used to verify this state machine. Huang et al. [11] also use a model checker, but \\ Reference t h e UI mappings MappingFile mantis c o n f i g. xml \\ r e f e r e n c e e x t e r n a l t e s t d a t a i n p r o p e r t y f i l e s Tuple u s e r d a t a = mantis u s e r d a t a. p r o p e r t i e s Tuple b u g d a t a = mantis b u g d a t a. p r o p e r t i e s \\ V a r i a b l e d e c l a r a t i o n, p a r t s o m i t t e d Chars l a s t T i c k e t S u m m a r y = Chars l a s t T i c k e t D e s c r i p t i o n = Bool managerloggedin = f a l s e Bool b u g r e p o r t e d = f a l s e Bool bug open = f a l s e \\ Views d e c l a r a t i o n, p a r t s o m i t t e d View S t a r t { Forward MyView When ( adminloggedin == t rue managerloggedin == t rue d e v e l o p e r L o g g e d I n == true r e p o r t e r L o g g e d I n == t rue ) T i t l e MantisBT Text a l l o w your s e s s i o n t o be used from t h i s IP \\ Example f o r manager r o l e T r a n s i t i o n MyView { Input username = [ u s e r d a t a. manageruser ] Input password = [ u s e r d a t a. managerpass ] \\ l o g i n i s r e s o l v e d from UI mapping f i l e Click l o g i n Assign l o g g e d I n U s e r = [ u s e r d a t a. manageruser ] Assign managerloggedin = t rue. View I s s u e s { T i t l e View I s s u e s MantisBT Text [ l a s t T i c k e t S u m m a r y ] When b u g r e p o r t e d == true T r a n s i t i o n MainPage { Click main T r a n s i t i o n ViewIssue { When b u g r e p o r t e d == t rue Click viewfromtable T r a n s i t i o n U p d a t e I s s u e { When managerloggedin == t rue & bu g r ep o r te d == true Click updatebug View R e p o r t I s s u e { T r a n s i t i o n R e p o r t I s s u e C o n f i r m a t i o n { Input b u g c a t e g o r y = [ b u g d a t a. c a t e g o r y ] Input bugsummary = [ b u g d a t a. summary ] Input b u g d e s c r i p t i o n = [ b u g d a t a. d e s c r i p t i o n ] Click submitbug Assign lastticketsummary = [ bugdata. summary ] Assign l a s t T i c k e t D e s c r i p t i o n = [ b u g d a t a. d e s c r i p t i o n ] Assign b u g r e p o r t e d = t rue Assign bug open = t rue Listing 3. Case study model excerpt
7 VAR t r a n s : {Start MyView ,, ReportIssue ReportIssueConfirmation ,, dead end marker, r e s e t m a r k e r ; view : { S t a r t, MyView, MainPage, I s s u e s,, dead end marker ; managerloggedin : boolean ; bug open : boolean ; b u g r e p o r t e d : b o o l e a n ; ASSIGN i n i t ( view ) := S t a r t ; i n i t ( t r a n s ) := dead end marker ; i n i t ( managerloggedin ) := FALSE; i n i t ( bug open ) := FALSE; i n i t ( b u g r e p o r t e d ) := FALSE; next ( t r a n s ) := view = dead end marker : dead end marker ; view = S t a r t & ( managerloggedin = TRUE d e v e l o p e r L o g g e d I n = TRUE r e p o r t e r L o g g e d I n = TRUE) : dead end marker ; view = S t a r t : { Start MyView , Start MyView , Start MyView , Start MyView ; view = R e p o r t I s s u e : R e p o r t I s s u e R e p o r t I s s u e C o n f i r m a t i o n ; TRUE : r e s e t m a r k e r ; esac ; next ( managerloggedin ) := next ( t r a n s ) = Start MyView & next ( view ) = MyView : TRUE; next ( t r a n s ) = MainPage Start & next ( view ) = S t a r t : FALSE; TRUE : managerloggedin ; esac ; next ( view ) := next ( t r a n s ) = r e s e t m a r k e r : S t a r t ; view = S t a r t & ( managerloggedin = TRUE d e v e l o p e r L o g g e d I n = TRUE r e p o r t e r L o g g e d I n = TRUE) : MyView ; next ( t r a n s ) = Start MyView : MyView ; next ( t r a n s ) = R e p o r t I s s u e R e p o r t I s s u e C o n f i r m a t i o n : R e p o r t I s s u e C o n f i r m a t i o n ; TRUE : dead end marker ; esac ; CTLSPEC NAME R e a c h R e p o r t I s s u e C o n f i r m a t i o n : =! (EF view = R e p o r t I s s u e C o n f i r m a t i o n ) ; Listing 4. Excerpts of the model in NuSMV language Fig. 3. Structural view of study model TestCase TC 7 { InvokeURL h t t p : / / l o c a l h o s t : / m a n t i s V e r i f y T i t l e MantisBT VerifyPageContent a l l o w your s e s s i o n t o be used from t h i s IP S e t I n p u t F i e l d name username = webmbt r e p o r t e r S e t I n p u t F i e l d name password = admin4u ClickButton xpath / / i n p u t s u b m i t \ ] V e r i f y T i t l e My View MantisBT VerifyPageContent Logged in as : VerifyPageContent webmbt r e p o r t e r ClickLink u r l main page. php V e r i f y T i t l e Main MantisBT ClickLink u r l bug report page. php S e t S e l e c t F i e l d name c a t e g o r y i d = 1 S e t I n p u t F i e l d name summary = T e s t T i c k e t Summary S e t I n p u t F i e l d name d e s c r i p t i o n = T e s t T i c k e t D e s c r i p t i o n ClickButton l a b e l Submit R e p o r t VerifyPageContent O p e r a t i o n s u c c e s s f u l Listing 5. Generated test tool independent test
8 their aim is not testing but verifiying the web application code for security vulnerabilities. Considering more generally, various other methods for model-based testing targeting different aspects of web applications have been proposed in the literature [1]. Andrews et al. [12] proposed using finite state machines for web application testing, but their models do not incorporate the necessary logic and data flow information for automatic construction of test scripts. Also their model does not cope with conditional redirects, as the proposed method does. Marchetto et al. [13] present an approach that utilizes recorded user interaction trace data to construct a state machine model especially for testing AJAX functionality. Input data is provided from the collected requests and test oracles have to be created manually. The generated test sequences are translated into the test format of the Selenium test automation tool. Another approach that especially targets testing AJAXbased web applications is presented by Mesbah and van Deursen [14]. Instead of real users providing execution traces, a special crawler is used here to build a model. To provide input when necessary, the crawler is backed by a database of input data that is associated with hash values calculated from the web page form attributes. It remains unclear how the crawler selects the correct set of input data dependent on both the web page form and the current application state. A test oracle is provided by invariant expressions on the DOM tree. Generic invariants as for example syntactic validity can be complemented by application specific invariants stated as XPath expressions. A quite similar approach is implemented in the research tool WebMate [15]. It also relies on building an application model by crawling the application. Necessary input data that cannot be randomly generated, as for example login data, has to be provided to the crawler. The authors state this to be the major weakness of that approach. Ernits et al. [16] describe the usage of the NModel open source tool for online testing of web applications, which in the model-based testing context means that a generated test step input is immediately fed into the system under test and the retrieved output is used to guide the further test step generation from the model. The C# language is used to construct a finite state machine as a model program. An adaptation layer contains test oracle code for both front end and back end testing, which remedies the problem of low observability of test impact pertinent to web application black box testing [12]. As interaction and verification functionality have to be implemented in the adaptation layer by the test engineer, the authors stress that more effort is needed to implement this layer than for the application model itself. Wang et al. [17] use a directed graph to model the navigation paths of the web application. There, test sequences that cover all pairwise interactions between web pages are generated. However, it does not model the dependency of feasible navigation paths on the application state. With an initial focus on test prioritization, Bryce et al. describe their first efforts [18] towards a unified model and terminology for both general GUI applications and web applications building upon the event flow model proposed by Memon [19]. To derive test s from the event flow model, several so called event space exploration strategies can be employed. Information about the state transformation of GUI components is used for test oracle generation. In comparison to the method proposed in this paper, the dependency of application behaviour on test input data is not explicitly expressed, because the model is to be automatically constructed using a user interface crawler. VII. CONCLUSION We have presented a highly automated model-based testing approach for web applications that has been implemented in a research tool. It is suited to contribute test scripts to a regression test suite where baseline scenarios are generated from models and more intricate test scenarios are manually designed by the test engineer. This should be useful especially in agile development processes, because these baseline scenarios could constitue a smoke test suite that quickly reveals obvious problems. Also, a test driven software development approach is possible, where the model is built prior to the software. Planned enhancements will improve the applicability in real world projects. One important enhancement for the domainspecific language is the ability for hierarchical model composition as implemented by other methods such as FSMWeb [12]. This is an interesting research problem, because a simple flattening of the models could lead to very large models that may not be processible by NuSMV within reasonable amounts of time and memory. Another planned extension is the inclusion of user-specified sub-paths in generated test sequences as described in section IV. ACKNOWLEDGMENT This work was funded by Deutsche Forschungsgemeinschaft (DFG) grant BL 891/2-1. REFERENCES [1] M. H. Alalfi, J. R. Cordy, and T. R. Dean, Modelling methods for web application verification and testing: state of the art, Softw. Test. Verif. Reliab., vol. 19, pp , [2] A. Pretschner, M. Utting, and B. Legeard, A taxonomy of model-based testing, Department of Computer Science, University of Waikato, Tech. Rep., [3] A. Gargantini and C. Heitmeyer, Using model checking to generate tests from requirements specifications, in Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, ser. ESEC/FSE-7. London, UK, UK: Springer-Verlag, 1999, pp [4] A. Cimatti, E. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella, NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking, in Proc. International Conference on Computer-Aided Verification (CAV 2002), ser. LNCS, vol Copenhagen, Denmark: Springer, July [5] A.-M. Törsel, Automated test generation for web applications from a domain specific model, Computer Software and Applications Conference Workshops, vol. 0, pp , [6] A. Sinha, C. E. Williams, and P. Santhanam, A measurement framework for evaluating model-based test generation tools, IBM Syst. J., vol. 45, no. 3, pp , Jul
9 [7] M. Y. Vardi, Branching vs. linear time: Final showdown, in Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, ser. TACAS London, UK, UK: Springer-Verlag, 2001, pp [8] H. Miao and H. Zeng, Model checking-based verification of web application, in Engineering Complex Computer Systems, th IEEE International Conference on, july 2007, pp [9] K. Homma, S. Izumi, K. Takahashi, and A. Togashi, Modeling, verification and testing of web applications using model checker, IEICE Transactions, pp , [10] S. Hallé, T. Ettema, C. Bunch, and T. Bultan, Eliminating navigation errors in web applications via model checking and runtime enforcement of navigation state machines, in Proceedings of the IEEE/ACM international conference on Automated software engineering, ser. ASE 10. New York, NY, USA: ACM, 2010, pp [11] Y.-W. Huang, F. Yu, C. Hang, C.-H. Tsai, D. Lee, and S.-Y. Kuo, Verifying web applications using bounded model checking, in Dependable Systems and Networks, 2004 International Conference on, june-1 july 2004, pp [12] A. A. Andrews, J. Offutt, and R. T. Alexander, Testing web applications by modeling with fsms, Software and System Modeling, vol. 4, no. 3, pp , [13] A. Marchetto, P. Tonella, and F. Ricca, State-based testing of ajax web applications, in ICST 08: Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation. Washington, DC, USA: IEEE Computer Society, 2008, pp [14] A. Mesbah and A. van Deursen, Invariant-based automatic testing of ajax user interfaces, in ICSE 09: Proceedings of the 31st International Conference on Software Engineering. Washington, DC, USA: IEEE Computer Society, 2009, pp [15] V. Dallmeier, M. Burger, T. Orth, and A. Zeller, Webmate: a tool for testing web 2.0 applications, in Proceedings of the Workshop on JavaScript Tools, ser. JSTools 12. New York, NY, USA: ACM, 2012, pp [16] J. Ernits, R. Roo, J. Jacky, and M. Veanes, Testing of Software and Communication Systems. Springer, 2009, ch. Model-Based Testing of Web Applications Using NModel, pp [17] W. Wang, S. Sampath, Y. Lei, and R. Kacker, An interaction-based test sequence generation approach for testing web applications, High- Assurance Systems Engineering, IEEE International Symposium on, [18] R. C. Bryce, S. Sampath, and A. M. Memon, Developing a single model and test prioritization strategies for event-driven software, IEEE Transactions on Software Engineering, vol. 37, pp , [19] A. M. Memon, An event-flow model of gui-based applications for testing, Software Testing, Verification and Reliability, vol. 17, no. 3, pp , 2007.
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
Model-based approach to design web application testing tool
American Journal of Software Engineering and Applications 2014; 3(5): 63-67 Published online November 20, 2014 (http://www.sciencepublishinggroup.com/j/ajsea) doi: 10.11648/j.ajsea.20140305.12 ISSN: 2327-2473
Generating Test Cases With High Branch Coverage for Web Applications
Generating Test Cases With High Branch Coverage for Web Applications Andrey Zakonov and Anatoly Shalyto National Research University of Information Technologies, Mechanics and Optics, Saint-Petersburg,
WebMate: Generating Test Cases for Web 2.0
WebMate: Generating Test Cases for Web 2.0 Valentin Dallmeier, Martin Burger, Tobias Orth, and Andreas Zeller Saarland University, Computer Science Department, Saarbrücken, Germany {dallmeier,mburger,orth,zeller}@st.cs.uni-saarland.de
Enabling automatic testing of Modern Web Applications using Testing Plug-ins
Enabling automatic testing of Modern Web Applications using Testing Plug-ins M. Rajesh Babu, M.Tech student Department of CSE, JNTUA College of Engineering, Anantapur, Email id: [email protected]
Zoomer: An Automated Web Application Change Localization Tool
Journal of Communication and Computer 9 (2012) 913-919 D DAVID PUBLISHING Zoomer: An Automated Web Application Change Localization Tool Wenhua Wang 1 and Yu Lei 2 1. Marin Software Company, San Francisco,
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
How To Test A Web Based Application Automatically
A General Framework for Testing Web-Based Applications Saeed Abrishami, Mohsen Kahani Computer Engineering Department, Ferdowsi University of Mashhad [email protected] r, [email protected] Abstract Software
Model-Based Testing of Web Applications using NModel
Model-Based Testing of Web Applications using NModel Juhan Ernits 1, Rivo Roo 2, Jonathan Jacky 3, and Margus Veanes 4 1 University of Birmingham, UK [email protected] 2 Reach-U Ltd,Tartu, Estonia
Finding Execution Faults in Dynamic Web Application
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding
Demonstration of an Automated Integrated Test Environment for Web-based Applications
Demonstration of an Automated Integrated Test Environment for Web-based Applications Tiziana Margaria 1,2, Oliver Niese 2, and Bernhard Steffen 2 1 METAFrame Technologies GmbH, Dortmund, Germany [email protected]
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
A Platform Independent Testing Tool for Automated Testing of Web Applications
A Platform Independent Testing Tool for Automated Testing of Web Applications December 10, 2009 Abstract Increasing complexity of web applications and their dependency on numerous web technologies has
Industrial Adoption of Automatically Extracted GUI Models for Testing
Industrial Adoption of Automatically Extracted GUI Models for Testing Pekka Aho 1,2 [email protected], Matias Suarez 3 [email protected], Teemu Kanstrén 1,4 [email protected], and Atif M. Memon
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy
[Rokadiya,5(4): October-December 2015] ISSN 2277 5528 Impact Factor- 3.145
INTERNATIONALJOURNALOFENGINEERING SCIENCES&MANAGEMENT A MODEL FOR WEB BASED APPLICATION USING MANUAL AND AUTOMATED TESTING TECHNIQUES AND ALSO STUDY FAULTS, THEIR EFFECTS AND TESTING CHALLENGES IN WEB
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy
Dept. of Computer Science Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Matteo Camilli [email protected] http://camilli.di.unimi.it ICSE 2014 Hyderabad, India June 3,
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
Testing Techniques applied to AJAX Web Applications
Testing Techniques applied to AJAX Web Applications Alessandro Marchetto 1, Paolo Tonella 1, and Filippo Ricca 2 1 Fondazione Bruno Kessler - IRST, 38050 Povo, Trento, Italy marchetto [email protected] 2
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
Model Driven Testing of Web Applications Using Domain Specific Language
Model Driven Testing of Web Applications Using Domain Specific Language Viet-Cuong Nguyen Department of Computer Science and Engineering Faculty of Electrical Engineering Czech Technical University in
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Load testing with. WAPT Cloud. Quick Start Guide
Load testing with WAPT Cloud Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. 2007-2015 SoftLogica
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
An Automated Model Based Approach to Test Web Application Using Ontology
An Automated Model Based Approach to Test Web Application Using Ontology Hamideh Hajiabadi, Mohsen Kahani [email protected], [email protected] Computer Engineering Department, Ferdowsi
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Optimised Realistic Test Input Generation
Optimised Realistic Test Input Generation Mustafa Bozkurt and Mark Harman {m.bozkurt,m.harman}@cs.ucl.ac.uk CREST Centre, Department of Computer Science, University College London. Malet Place, London
Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle
Database Project Lifecycle Philippe Bonnet, 2006 2 Software Engineering The implementation of a database application is a significant engineering endeavor The project must complete On time On budget The
Automatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Efficient Agent Based Testing Framework for Web Applications
International Journal of Scientific & Engineering Research, Volume 3, Issue 2, February-2012 1 Efficient Agent Based Testing Framework for Web Applications Ms.Neha Saluja Prof.Amit Kanskar Abstract- Now
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
A Lightweight Semi-automated Acceptance Test-Driven Development Approach for Web Applications
A Lightweight Semi-automated Acceptance Test-Driven Development Approach for s Diego Clerissi, Maurizio Leotta, Gianna Reggio, Filippo Ricca Abstract: Applying Acceptance Test Driven Development (ATDD)
Review of Mobile Applications Testing with Automated Techniques
Review of Mobile Testing with Automated Techniques Anureet Kaur Asst Prof, Guru Nanak Dev University, Amritsar, Punjab Abstract: As the mobile applications and mobile consumers are rising swiftly, it is
Using weblock s Servlet Filters for Application-Level Security
Using weblock s Servlet Filters for Application-Level Security September 2006 www.2ab.com Introduction Access management is a simple concept. Every business has information that needs to be protected from
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A SYSTEMATIC REVIEW OF AUTOMATED SOFTWARE TESTING TOOLS A. NIRMAL KUMAR 1, DR.
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Course Structure of Three Year Degree B.A Programme in Computer Application under Semester System of Dibrugarh University (General Programme)
Course Structure of Three Year Degree B.A Programme in Computer Application under Semester System of Dibrugarh University (General Programme) COURSE LECTURE DURATION(LD) /paper SEMESTER-I 1. Course Code:CAN101
Design and Functional Specification
2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)
Redpaper Axel Buecker Kenny Chow Jenny Wong
Redpaper Axel Buecker Kenny Chow Jenny Wong A Guide to Authentication Services in IBM Security Access Manager for Enterprise Single Sign-On Introduction IBM Security Access Manager for Enterprise Single
WEB TESTING APPLICATION WITH PHP AUTOMATED TOOL
WEB TESTING APPLICATION WITH PHP AUTOMATED TOOL Iulia Ștefan and Ioan Ivan Department of Automation, Technical University, Cluj-Napoca, Romania [email protected], [email protected] ABSTRACT
Automated Model Based Testing for an Web Applications
Automated Model Based Testing for an Web Applications Agasarpa Mounica, Lokanadham Naidu Vadlamudi Abstract- As the development of web applications plays a major role in our day-to-day life. Modeling the
A Formal Methodology for Procedural Security Assessment
A Formal Methodology for Procedural Security Assessment Komminist Weldemariam and Adolfo Villafiorita Center For Information Technology Fondazione Bruno Kessler Trento 38100, Italy Email: (sisai,adolfo)@fbk.eu
Model-Based Vulnerability Testing for Web Applications
Model-Based Vulnerability Testing for Web Applications F. Lebeau, B. Legeard, F. Peureux, A. VERNOTTE FEMTO-ST Institute / University of Franche-Comté UMR CNRS 6174, 25030 Besancon, France. Smartesting
WebMate: A Tool for Testing Web 2.0 Applications
WebMate: A Tool for Testing Web 2.0 Applications Valentin Dallmeier Martin Burger Tobias Orth Andreas Zeller Saarland University Computer Science Saarbrücken, Germany {dallmeier, mburger, orth, zeller}@st.cs.uni-saarland.de
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
Modeling BPMN Diagrams within XTT2 Framework. A Critical Analysis**
AUTOMATYKA 2011 Tom 15 Zeszyt 2 Antoni Ligêza*, Tomasz Maœlanka*, Krzysztof Kluza*, Grzegorz Jacek Nalepa* Modeling BPMN Diagrams within XTT2 Framework. A Critical Analysis** 1. Introduction Design, analysis
Integrity 10. Curriculum Guide
Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training
Designing a Software Test Automation Framework
152 Informatica Economică vol. 18, no. 1/2014 Designing a Software Test Automation Framework Sabina AMARICAI 1, Radu CONSTANTINESCU 2 1 Qualitance, Bucharest 2 Department of Economic Informatics and Cybernetics
Set Up and Maintain Customer Support Tools
Set Up and Maintain Customer Support Tools Salesforce, Winter 16 @salesforcedocs Last updated: December 10, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered
Utilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
Technology WHITE PAPER
Technology WHITE PAPER What We Do Neota Logic builds software with which the knowledge of experts can be delivered in an operationally useful form as applications embedded in business systems or consulted
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
WebSphere Business Monitor
WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25
TATJA: A Test Automation Tool for Java Applets
TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann [email protected] Abstract Although there are some very good tools to test Web Applications, such tools neglect
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
Automated testing of CS UI using Selenium and Python
Automated testing of CS UI using Selenium and Python Parth Jagirdar Software Test Engineer Datacenter & Cloud Division Citrix Systems Powering Mobile Workstyles and Cloud Services. Introduction You would
10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.
Oracle BPM 11g Platform Analysis May 2010 I was privileged to be invited to participate in "EMEA BPM 11g beta bootcamp" in April 2010, where I had close contact with the latest release of Oracle BPM 11g.
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
T-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Magento Test Automation Framework User's Guide
Magento Test Automation Framework User's Guide The Magento Test Automation Framework (MTAF) is a system of software tools used for running repeatable functional tests against the Magento application being
EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
Going Faster: Testing The Web Application. By Adithya N. Analysis and Testing of Web Applications Filippo Ricca and Paolo Tonella
Testing Web Applications Testing Web Applications By Adithya N. Going Faster: Testing The Web Application Edward Hieatt and Robert Mee (IEEE Software) Analysis and Testing of Web Applications Filippo Ricca
estatistik.core: COLLECTING RAW DATA FROM ERP SYSTEMS
WP. 2 ENGLISH ONLY UNITED NATIONS STATISTICAL COMMISSION and ECONOMIC COMMISSION FOR EUROPE CONFERENCE OF EUROPEAN STATISTICIANS Work Session on Statistical Data Editing (Bonn, Germany, 25-27 September
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
VDM vs. Programming Language Extensions or their Integration
VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,
