Subscribe by Email


Showing posts with label Syntax. Show all posts
Showing posts with label Syntax. Show all posts

Friday, February 22, 2013

Explain SlimDog - Web Functional/Regression Test Tool


About SlimDog

- SlimDog is a web application testing tool that is based on simple script i.e., the httpunit. 
- The tool comes with a range of commands that help you to work with forms, navigating between the web pages and checking the table contents. 
- The hard task of writing lengthy xml files and JUnit test cases, the slimdog allows the users to create simple text scripts. 
- Each command is a test node that is contained in every line of the script.
- As such all commands contained in a file are treated as a test case and processed as the same. 
- Every command has a syntax that is quite simple as well as easy to learn. 
- If you want, you can form a test suite by combining several test scripts. 
- The results of the tests executed are written as an html page or file to the console. 

How to use SlimDog?

- To use slimdog, firstly you need to download its latest version from its web site. 
- The application will be in zipped form. 
- You need to extract the files to a directory of your choice. 
- Next step is to create a test directory. 
- After this you can start creating tests and save them in the test directory you just created. 
- After you have created the test, your next step is to get the html content. 
- You can run the tests from the command line. 
- After obtaining the results save them to a file. 
- Be careful that the file in which you are saving the result should be defined using the –o argument. 
- You can even navigate from one page to another. 
- All files in the test directory can be run as a test suite. 
- Every test case file must end with .test extension so that it becomes recognizable.
- You can even use a proxy. 
- The slimdog commands can even be used with the JUnit test cases.

- However, running a test case is the easiest way. 
- Firstly, the web tester needs to be instantiated and all commands need to be added through the parse line method.
- You do not have to worry about the syntax since it is the same as that of the script files. 
- After this runtest() method can be called and web test results can be obtained. 

General SlimDog Commands

Below we shall mention some general slimdog commands:
  1. Get_html: This command is for establishing a connection with the given URL and thus reading its content. The read content then can be used later. The parameter to this command is the URL itself and it supports variables.
  2. Check_title: Parameter for this command is the required title and it is of the type test. The title of the page that you specify is checked against the given title. There is one thing about this test which is that if it fails, the entire test will fail.
  3. Set_proxy: The parameters for this command are the proxy port and host. It is of the type command.
  4. Check_link (missing): The parameter for this command is the text within the tag and this one is also of the type test.
  5. Check_text: The text to be found is passed as a parameter to this command and it is of the type test.
  6. Click_link: The argument for this is the text within the tag. It is of the type command.
  7. Seturlprefix: The parameter here is the URL prefix. This URL prefix is used as the base URL for other tests. It is of the type command.
  8. Enable java_script: Parameter is either true or false. This command disables and enables the JavaScript based on the argument passed.


Saturday, February 2, 2013

Explain Robot Framework?


The Robot Framework was developed as generic test automation framework for two major tasks namely:
  1. Acceptance testing and
  2. ATDD or acceptance test driven development
- It makes use of the keyword driven testing approach for achieving the above mentioned two tasks. 
- It has got a very simple and unique tabular test data syntax that is quite easy to follow and this is what that makes robot framework so easy to be used. 
- All this makes the robot framework popular among the testers.
- Test libraries that can be implemented through either java or python can be used for extending the capabilities of the frame work. 
- The users have the choice of creating new keywords from the existing ones. 
- This can be done using the same syntax that is available for the creation of the test cases. 
- Robot framework is actually an open source software. 
- The license it possesses is the Apache license 2.0.
- The Nokia Siemens Networks supports the development of this framework and also owns its copyrights. 

Features of Robot Framework

The robot test automation framework is abundant of features. Its features are:
  1. Its tabular syntax is easy to use and can be used for the creation of the test cases in a way that is uniform.
  2. Robot framework can work up on three approaches namely:
- Keyword driven testing approach
- Behavior driven development approach or BDD
- Data driven testing approach or DDT.
  1. It provides the facility for the creation of higher level keywords that are reusable for the already existing keywords.
  2. The reports and logs it generates are quite easy to follow and are based up on HTML.
  3. This test automation framework does not depend up on any platform or application.
  4. The architecture of the frame work is quite modular in nature that helps in supporting the creation of the tests for even the software systems and applications that possess a number of interfaces all different from one another.
  5. It comes with a library API that is quite simple and can be further used for the creation of other test libraries that can be customized.
  6. The XML based outputs that the framework provides allow for integrating itself in to the build infrastructure that already exists. These are called continuous integration systems.
  7. It also provides a command line interface for the same purpose as that of the XML based outputs.
  8. It supports selenium tool for the following things:
Ø  Web testing
Ø  Java GUI testing
Ø  telnet
Ø  running processes
Ø  SSH and so on.
  1. The framework comes with a remote library interface, thus enabling the implementation of the test libraries in any desired programming language and distributed testing.
  2. The tagging feature provides helps in categorizing the tests and selecting them accordingly for the execution.
  3. For variables, it comes with a special built – in support for regulating testing in different environments.
- Test cases can be written either in HTML or in plain text.
- Also, any editor can be used for editing the test cases. 
- The robot test automation framework comes with a graphical development tool called the RIDE or robot IDE. 
- The tool has got a number of features specific to the framework such as syntax highlighting, code completion and so on. 
- Selenium library is an extension to the robot test automation frame work and similarly there are a number of others. 
- However, there are some other languages that can be used for implementing the libraries such as perl, PHP, java script and so on. 
- However, these languages can be used only through a remote library interface.


Wednesday, January 16, 2013

What kinds of functions are used by Cleanroom Software Engineering approach?


Harlan Mills and his colleagues namely Linger, Poore, Dyer in the year of 1980 developed a software process that could promise building zero error software at IBM. This process is now popularly known as the Cleanroom software engineering. The process was named in accordance with an analogy with the manufacturing process of the semiconductors. 

The Clean room software engineering process makes use of the statistical process and its control features. The software systems and applications thus produced have certified software reliability. The productivity is also increased as the software has no defects at delivery. 
Below mentioned are some key features of the Cleanroom software engineering process:
  1. Usage scenarios
  2. Incremental development
  3. Incremental release
  4. Statistical modeling
  5. Separate development
  6. Acceptance testing
  7. No unit testing
  8. No debugging
  9. Formal reviews with verification conditions
Basic technologies used by the CSE approach are:
  1. Incremental development
  2. Box structured specifications
  3. Statistical usage testing
  4. Function theoretic verification
- The incremental development phase of the CSE involves overlapping of the incremental development and from beginning of specification to the end of the test execution it takes around 12 – 18 weeks.
- Partitioning of the increments is critical as well as difficult. 
- Formal specification of the CSE process involves the following:
  1. Box structured Designing: Three types of boxes are identified namely black box, state box and clear box.
  2. Verification properties of the structures and
  3. Program functions: These are one kind of functions that are used by the clean room approach.
- State boxes are the description of the state of the system in terms of data structures such as sequences, sets, lists, records, relations and maps. 
- Further, they include specification of operations and state in-variants.
- Each and every operation that is carried out needs to take care of the invariant. 
- The syntax errors present in a constructed program in clean-room are checked by a parser but is not run by the developer.
- A team review is responsible for performing verification which is driven by a number of verification conditions. 
- Productivity is increased by 3–5 times in the verification process as compared to the debugging process. 
- Proving the program is always an option with the developers but it calls for a lot of math intensive work.
- As an alternate to this, clean room software engineering approach prefers to use a team code inspection in terms of two things namely:
  1. Program functions and
  2. Verification conditions
- After this, an informal review is carried out which confirms whether all conditions have been satisfied or not. 
- Program functions are nothing but functions describing the prime program’s function.

- Functional verification steps are:
1.    Specifying the program by post and pre-conditions.
2.    Parsing the program in to prime numbers.
3.    Determining the program functions for SESE’s.
4.    Defining verification conditions.
5.    Inspection of all the verification conditions.
- Program functions also define the conditions under which a program can be executed legally. Such program functions are called pre-conditions.
- Program functions can even express the effect the program execution is having up on the state of the system. Such program functions are called the post conditions.
- Programs are mostly expressed on terms of the input arguments, instance variables and return values of the program. 
- However, they cannot be expressed by local program variables. 
- The concept of nested blocks is supported by a number of modern programming languages and structured programs always require well nesting. 
- The process determining SESE’s also involves parsing rather than just program functions.


Friday, September 28, 2012

What is a Run-Time Data Table? Where can I find and view this table?


The quick test professional always makes it a point to produce a run time data table at the end of every run session so that the user can have a live view of the data table that is currently associated with the test being carried out at that time. 

What is a Run-Time Data Table?

- While the run session is still in progress, the run time data table is displayed in the data table pane of the quick test professional window. 
- This is to make it easy for the user to view any changes that are constantly made to data during the run session.
- At the end of the run session, this run time data table is closed and in the data table pane the stored design time data table is displayed again in the place of the run time data table. 
- In some of the cases the data which entered in to the run time data table during the run session is not saved along with the test.
- At the end of the run session the data in the table is finalized and is displayed is run time data table column of the results window of the test. 
- The name of the run time data table was derived from the fact that it is generated during the run time. 
- With every script or component there is an associated run time data table which serves the purpose of displaying the data.  
- One run time data table has the property to access the data from some other data table during the run time. 
After a particular test has been executed with either of the following:
  1. Data table parameters and
  2. Data table output value steps
The following are displayed by the run time data table:
  1. Parameterized values that were used during the testing and automation and
  2. Output values that were saved in the data table during the run session.
Certain data table methods are provided by the quick test professional with the help of which the user can alter the data table as required and these are:
  1. Add sheet: This data table method can be used to add sheets in to the pre existing run time data table. Syntax used is:
Datatable.addsheet (name of the sheet)
  1. Delete sheet: This data table method as obvious from its name is used for deletion of the already added sheets in a run time data table. However at one time only one sheet can be deleted. Syntax used is:
Datatable. Deletesheet (“ID of the sheet”)
  1. Get sheet count: This data table method gives you the number of sheets that you have in your run time data table. Syntax used is:
Datatable. Getsheet count
  1. Get sheet: This methods returns the sheet specified from the run time data table by the user. Syntax used is:
Datatable. Getsheet( ID of the sheet)
  1. Get row count: Returns the number of rows present in a particular sheet of the run time data table. Syntax used is:  datatable. Getrowcount
  2. Value: This data table method serves two purposes i.e., using it you can either obtain value of a specified cell or you can modify the value of the cell. Syntax for both the cases is:
Variable = datatable. Value( name of the parameter, name of the sheet)
Variable = datatable. Value( name of the parameter, name of the sheet) = value
  There are some other data table methods also like:
  1. Set current row
  2. Set next row
  3. Set previous row
  4. Import
  5. Export and so on.


Thursday, September 20, 2012

What is Object Spy? How to Use it?


Object spy is one of the most important tools in winrunner as well as in quick test professional. In this article we are going to discuss what role object spy serves in quick test professional and how it is used in the same. 

What is an Object Spy?

- With the help of object spy the basic structure of any of the test objects can be known. 
- The best thing about object spy in quick test professional is that the structure of a particular object can be viewed in the tree format. 
- All this makes understanding of the test objects much easier. 
- In addition to this use, the object spy can also aid us in viewing the test object and run time properties as well as methods of all the objects present in the software system or application. 

How the object spy can be used in quick test professional?<>

- For launching object spy just go to tools menu and click on the object spy tab. 
- Clicking on this tab will open up a dialog box named “object spy”.
- In that dialog box you need to select the application software whose object methods and properties you wish to see. 
- After this in the object spy window you need to select the pointer image. 
- All the objects present in that particular application will be listed and from these you can select the one whose object methods and properties you wish to view. 
- There are two particular things that can be viewed using the object spy as mentioned below:
  1. Properties of a specific object and
  2. Methods applicable for that object.
- Many different properties of the selected objects can be viewed. 
- This viewing of the object methods and properties is facilitated by the pointing hand mechanism of the object spy. 
- As this pointer is hovered above the objects, their corresponding methods and properties are displayed in the window of the object spy dialog box. 
- The details of the object may also include the hierarchy tree of the test objects. 
- The object spy also displays the syntax for the object methods at your command. 
- Different properties can be viewed in different environments. 
- Objects such as following can be viewed using the object spy in quick test professional:
  1. Dialog
  2. Static
  3. Active X
  4. Edit and so on.
- The object spy can be considered to be the same as the GUI spy that comes with the winrunner. 
- The object spy contributes a lot while writing descriptive programming. 
- In object, the properties of the objects are displayed along with their corresponding values. 
- Object spy is such a feature provided by the quick test professional with which the total information regarding the objects can be obtained.
- There are 3 tabs in the object spy dialog box namely:
  1. Properties tab
  2. Methods tab and
  3. Navigation tab
- Clicking on the properties tab all the properties of the objects along with the values and hierarchy tree are displayed. 
- Clicking on the methods tab all the methods of the test objects and run time objects are displayed. - Clicking on the navigation tab, the tool bar is displayed. 
- Object spy just like the gui spy of the winrunner is an in built feature. 
- For opening the object spy apart from just clicking on the object spy option on the tool bar there are two more ways:
  1. Go to the object repository window and double click the object spy icon.
  2. After opening the object repository navigate to the tools and select the object spy option. 


Friday, September 14, 2012

What is a step generator in QTP?


Step generator as we all know is quite a useful as well as popular feature of the complete test automation suite “quick test professional”. 

What is a Step Generator?

- It generates a library of the functions which also forms a part of the quick test professional suite.
- The step generator serves the purpose of the non recordable as well as record able steps.
- To get to the step generator in quick test professional, just go to the insert menu, then hog down to the step generator option and here you have it. 
- Or, if you do not want to go for this method you can straightaway press the function key F7 which is the short cut key for this whole procedure.
- A range of context sensitive functions are provided by the step generator. 
- With the help of these context sensitive functions it becomes very easy for one to add the steps as required. 
- The steps in the step generated can be added with the required values. 
- The steps mentioned below can be defined in the step generator via the step generator dialog box:
  1. Utility object operations
  2. Tests only steps or test object operations
  3. Call to library functions in tests only
  4. Internal script functions
  5. Visual basic script functions and so on.
Some examples of such steps are:
  1. Adding a step that checks regarding the existence of a particular object i.e., whether it exists or not.
  2. Adding a step in which the output or the returned value of a sub routine or method or the result of a conditional statement is stored.
- Any of the values present in the step can be parameterized. 
- Another purpose that is served by the step generator is that using it one can insert steps in tests as well as in functions also. 
- But it has got a limited use when it comes to the library functions. 
- Step generator cannot be used to get access to collections or test object names or a list of the library functions either. 
- Before the step generator is opened up for defining a new step, the place or the point where that particular step is to be inserted is selected and then the step is defined.

What happens when you open the step generator dialog box?

- When you open up the step generator dialog box, the first thing that you need to do is to select the category of the step operation out of the categories mentioned above.
- Then, you should select the function library or the object that is required. 
- The step after this involves the selection of the appropriate operation like either method or property or function. 
- The final step involves the defining of the return values as well as the arguments or the parameters as and when required. 
- After the completion of all these steps, the step is inserted by the generator in to the required test with the corrected syntax. 
- Later, one can add many more steps at the same location itself without shutting down the step generator. 
- Later whenever needed the step generator can be accessed from either of the following:
  1. Expert view or
  2. Key board view or
  3. Active screen.

For what purpose step generator is used?

- Step generator is mostly used for breaking down the tests to obtain better testing results. 
- It will not be wrong to consider this as a debugging process i.e., debugging by giving breaks. 
- Since particular steps can be generated in between the actions, a lot of time is saved. 
- Also, if while recording the tester misses out one step it can be easily inserted afterwards using step generator. 


Thursday, August 16, 2012

What are advantages of WinRunner over other market tools silk, robot etc.?


Winrunner has got many competitors in market these days. Every day some new software testing tool is being introduced that is giving competition to the winrunner in one or the other way. 
The below mentioned are two such software testing tools:
     1.   Silk test automation tool
     2.   Robot testing frame work

In this article we shall discuss about all these three software testing tools i.e., the winrunner, silk and robot and discuss what advantages winrunner has got over these other two emerging software testing tools in the market.

About Silk Test Automation Tool

First, we shall discuss about the silk test automation tool. 
- The silk testing tool is promising a bright future as the software testing industry is moving towards a hi - tech end. 
- Till now silk test automation tool has proved to be good with many platforms and test management tools and there is an insight that it may become much more powerful in the coming days. 
- The silk test tool facilitates the automated regression testing and functional testing for the enterprise applications. 
- The original developer of the silk test tool was the Segue software which was later taken under the micro focus international in the year of 2009.
- Silk test automation tool has got many clients to offer unlike the winrunner which can support a few platforms only. 
- The silk test tool has got two very important features as mentioned below:
  1. Silk test host: responsible for the storing all the source script files
  2. Silk test agent: responsible for the translation of the script commands in to the commands of GUI or we can say user actions.

About Robot Framework

Now let us see what robot frame work is. 
- This testing frame work is quite a generic one and has proved to be quite useful in the test automation process. 
- The robot frame work provides a very useful and efficient testing frame work for the following:
  1. Acceptance testing
  2. Acceptance test driven development or ATDD
- It is very easy to use tabular test data syntax and this is what makes it quite popular among the testers. 
- This frame work is known to make use of the key word driven testing approach. 
- Its capabilities are extendible i.e., they can be extended using the test libraries which were implemented either with java or with python. 
- It also provides the users with the facility of creating new key words of their convenience with the help of the same syntax that is used in the creation of the test cases. 
- It has following features:
  1. Creation of test cases in a uniform way through the easy to use syntax.
  2. Data driven approach
  3. Behaviour driven approach
  4. Key word driven approach
  5. Reads HTML format
  6. Modular architecture
  7. Has a simple library API
  8. XML based outputs and command line interface
  9. Remote library interface
  10. Built in support for variables
  11. Tagging facility

Advantages of WinRunner over Silk Test and Robot

Though both of these software testing tools are quite advanced, there are certain places where they lag behind when compared with winrunner. 
- The winrunner takes less time as compared to the silk test tool and robot frame work. 
- The tediousness is reduced in the winrunner but not in silk test tool.
- The winrunner requires less investment in human resources contrary to the case of the silk test tool and robot test frame work.
- Silk test tool and robot frame work actually help in creating, organizing, managing and executing the test cases but they offer less help when it comes to rooting out serious bugs whereas the winrunner lays down a considerable focus in this regard. 


Tuesday, April 17, 2012

Explain the concepts of syntax test technique?

Very few people are familiar with the term syntax test technique. We shall discuss about this testing technique but after a brief discussion about the syntax of the programming languages.

Every real world language in this world has got certain rules following which the meaningful statements and sentences can be drafted from the raw words. These rules are collectively known as the syntax of the language. Similarly syntax also exists for the computer programming languages.

About Syntax and Syntax Test Technique



- Each programming language has got its own unique syntax.

- The syntax is known to define the surface of a language.

- Type of syntax of a language depends on the type of the programming i.e., whether it is a text based language or a visual based language.

- Syntax forms a part of the semantics.

- The syntax test technique involves the process of parsing i.e., the linear sequence of the tokens is transformed in to a hierarchical syntax tree.

- Parsing is also an effort and time consuming process but, nowadays several automated tools are available for this purpose also and are quite effective in generating parses.

- These parses are generated using the language grammar specifications as stated in the Backus- Naur form.

- Backus- Naur forms as well as regular expressions of the lexicon together comprise the syntax of the textual programming languages.

- There are other rules called productions which are used to classify the syntax in to different categories.

- The syntax just describes whether or not the program is valid.

- It is the semantics which describe the meaning of the program.

- It is not necessary that a syntactically correct code of the program should be semantically correct also.

Steps of Syntax Test Technique


A typical syntax testing technique consists of the following steps:

1. Identification of the format of the target language.

2. Definition of the syntax of the target language in to formal notation like Backus- Naur form.

3. Testing the syntax under normal conditions by keeping the Backus- Naur form of the language under adequate coverage. This is the minimal requirement for carrying out a syntax test.

4. Testing of the garbage conditions i.e., testing the software system against the invalid input test data. This condition has a high pay off and automation is highly recommended.

5. Debugging of the whole software program.

6. Automation of the test execution process. This is necessary since a lot of test cases are required for the effective syntax testing.

7. For carrying out the whole process, 3 most frequent wrong actions have been identified as shown below:

(a) The recognizer could not identify the string which was good.
(b) The recognizer accepted a bed string.
(c) The recognizer crashed or hanged during the process of the recognition of the good and bad strings.
(d) Any incorrectness in the Backus- Naur specifications can spoil a good string and turn it in to a bad one.

8. There should be a proper testing strategy since all the strings cannot be tested.

9. Only one error should be generated and tested each time.

10. First, all the single errors should be tested using specifically created test cases, then the double errors and lastly the triple errors are tested.

11. Your focus should be on one level at a time.

Dangers related to Syntax Testing


Certain dangers have also been identified related to the syntax testing:

(a) It is quite common for the testers to forget the normal cases.

(b) While testing, testers often go overboard with the testing combinations.

(c) Syntax testing is often taken very lightly since it is pretty easy when compared to the structural testing.

(d) A lack of knowledge about the program can make you to execute many test cases. So its better to have a thorough study of the program before you test it.


Wednesday, February 8, 2012

What are different security testing techniques?

Security testing techniques are needed to defend the vulnerabilities of a software system or application and to protect it from security threats. Every web site and application has some kind of vulnerabilities which weaken the application’s security and exposes it to the exploitation.

The security should be carried out along all other testing phases so that a uniform security is maintained throughout the application and vulnerabilities and threats are discovered and addressed from time to time. But, unfortunately the security testing is usually conducted at the last phase of the development cycle.

PENETRATION & STATIC ANALYSIS TESTING TOOLS
- Penetration testing tools or web application scanners help a great deal in identifying the vulnerabilities of a web site or application.
- The human brain cannot mentally check out the whole source code and aspects for vulnerabilities and weak points.
- Another class of tools that can be used for this purpose is static code analysis tools.
- Both these penetration tools and static code analysis tools are needed for security testing of web sites and web applications.
- These tools work very effectively in digging out the vulnerabilities.
- On the other hand, static code analysis tools belong to the white box testing tools.
- They are used by the security groups to complement the penetration tools and they focus up on finding the specific root vulnerabilities.
- Penetration testing tools are to be used when the tester is having a limited knowledge of the web application under testing.
- These security tools are employed to check out the following security issues:
(a) SQL injection attacks
(b) Cross site scripting attacks
(c) Directory traversal attacks
(d) Issues related to session management
(e) Validation of the supplied input

The penetration testing tools emphasize upon the following security areas of a web site or web application:
- Network security
- Data base security
- Security sub- system
- Web application security

The penetration testing tools though focus up on both the positive and negative requirements; the more emphasis is on the negative ones. On the other hand normal software testing focuses only up on the positive requirements.

TECHNIQUES USED TO CARRY OUT SECURITY TESTING OF WEB APPLICATIONS

1. Fuzz Test Technique
- This type of testing involves injection of various types of generated data at the interface of the web site or application under testing.
- The data is either randomly generated or systematically.

2. Syntax Test Technique
- This type of testing involves generation of both legal and illegal data.
- This data input values are fed to the application and the behavior of the web application is observed i.e., whether it accepts or rejects the input.

3. Data Analysis
- The data generated by the web application is checked and the context of cryptography is employed here.

4. Exploratory Testing
- This testing is carried out without any test plan.
- There are no specific expectations in this type of security testing and the outcomes are also not expected.

5. Scaffolding
- Testers require some support to carry out their own specially designed testing techniques.
- For that they require supportive tools.
- This is termed as scaffolding.

6. Monitoring the behavior of the program
- Automated tools are used to monitor the outcomes of the different security testing techniques applied and also the behavior of the web application is monitored.
- This technique saves a lot of time.

Security testing of the web sites and applications is crucial to the security of the enterprise since the web sites and applications need to be available to the people all time and the threats and vulnerabilities possess a big danger to the cyber world.


Monday, July 25, 2011

How to assess alternative architectural designs?

There are many architectural alternatives that need to be assessed. There are different ways to assess the design:

Trade off Analysis Method
It establishes an iterative evaluation process for software architectures. It involves six steps:
- All the scenarios are collected.
- Requirements, constraints and environment description are elicited.
- Architectural styles or patterns chosen to address scenarios and requirements are described.
- Quality attributes are evaluated.
- The sensitivity of quality attributes to architectural attributes are identified.
- Critique candidate architectures using sensitivity analysis.

Architectural Complexity
In architectural complexity, the dependencies between the components are assessed within the architecture. Dependencies can be divided into:
- Sharing dependencies represent dependence relationship among consumers or producers.
- Flow dependencies represent dependence relationships between producers and consumers of resources.
- Constrained dependencies represent constraints on the flow of control among set of activities.

Architectural Description Languages
Architectural description language provides a semantic and syntax for describing a software architecture. It is a set of tools and notation that allows the design to be represented in an unambiguous and understandable fashion.


Friday, February 11, 2011

User Interface Analysis and Design - Interface analysis and design models

User interface design begins with creating of different models of system function, human and computer tasks required to achieve system function are delineated, design issues applying to interface designs are considered, tools that are used and result that is evaluated by end-users for quality.

Analyzing and designing a user interface design requires four different models:
User Model
It is established by human or software engineer. It establishes the profile of end users of system. Users are categorized as:
- Novices: No syntactic and little semantic knowledge.
- Knowledgeable, intermittent users: Reasonable semantic and low recall or syntactic knowledge.
- Knowledgeable, frequent users: Good semantic and syntactic knowledge.

Design Model
Software engineer creates a design model. It includes data architectural, interface and procedural representations of the software.

User's Mental Model
It is created by end-user. It is the image of the system that end users carry in their mind. Accuracy of the description depends on the user's profile.

Implementation Model
It is created by implementers of the system. It combines the outward manifestation of computer based systems coupled with all information that describe system syntax and semantics.

When the implementation and user's mental model are coincident, users are comfortable with the software and use it effectively.


Friday, February 4, 2011

User Interface Testing - Interface testing strategy

The user interface model is reviewed to ensure that it conforms to customer requirements and to other elements of analysis model. During testing, focus is shifted towards application specific aspects of user interaction as they are manifested by interface syntax and semantics.

The goal of interface testing is to:
- uncover errors related to specific interface mechanism.
- uncover errors in the way interface implements semantics of navigation, web application functionality or content display.

Objectives that should be achieved are:
- Interface features are tested to ensure that design rules, aesthetics, and related visual content are available for user without error.
- Individual interface mechanisms are tested in a manner that is analogous to unit testing.
- Each interface mechanism is tested within the context of a use case or navigation semantic units for a specific user category.
- The complete interface is tested against selected use cases and navigation semantic units to uncover errors in the semantics of the interface.
- The interface is tested within a variety of environments to ensure that it will be compatible.

Usability testing evaluates the degree to which users can interact effectively with the web application and the degree to which the web application guides user actions, provides meaningful feedback, and enforces a consistent interaction approach. Usability tests are designed by a web engineering team, but the tests themselves are conducted by end users.

Steps to be followed are :
- define a set of usability testing categories and identify goals for each.
- design tests that will enable each goal to be evaluated.


Friday, January 28, 2011

Introduction to Navigation Design - Navigation Semantics and Syntax

Once the web application architecture and the content is defined, navigation pathways that enable users to access the web application content and functions.
- semantics of the navigation for different users of the site should be identified.
- syntax of achieving the navigation should be defined.

NAVIGATION SEMANTICS


Each user category has a user hierarchy and related use cases. There are different navigation requirements for each actor. A set of classes are defined for the use cases developed for each user. It contains one or more content objects or web application functions. As interaction with web application occurs, series of Navigation Semantic Units(NSUs) are encountered. A NSU describes the navigation requirements for each use case. The NSU shows how an actor moves between content objects or web application functions.
Navigation Semantic Unit is a set of information and related navigation structures that collaborate in the fulfillment of a subset of related user requirements.

The Web application designer creates a navigation semantic unit for each use case associated with each user role. During initial stages of navigation design, the web application content architecture is assessed to determine one or more ways of navigating for each use case. Ways of navigating identifies navigation nodes and the links that enable navigation between them.

NAVIGATION SYNTAX


The syntax of navigation design are:
- Tabs: a variation of navigation bar or column.
- Individual navigation link: test based links, icons, buttons and graphical metaphors.
- Horizontal Navigation bar: lists major content or functional categories in a bar containing appropriate links.
- Vertical Navigation column: lists major content or functional categories and second lists virtually all major content objects within web application.
- Site maps: provide an all-inclusive table of contents for navigation to all content objects and functionality contained within web application.


Tuesday, July 20, 2010

Parts and General Syntax Rules of Test Script Language (TSL)

TSL stands for Test Script Language. It is created by Mercury Interactive.

Syntax Rules of TSL


- Semi‐colons mark the end of a simple statement.
- Statements that contain other statements are called compound statements. Compound statements use curly braces and not semi‐colons.
- TSL is a case sensitive language. You need to be extra careful with the case of the statements. Most of the identifiers, operators and functions within the language utilize lower case so use lower case when you are not sure.

What Constitutes TSL?


Comments :
Use a # symbol to write a comment. Statements written as comments are ignored by the interpreter. It makes easier for the reader of the test script with useful information about the test. TSL does not have multi‐line comments.
Naming Rules :
Every language has rules that define what names are acceptable in the language and which names are not. Naming rules of TSL are :
- Must begin with a letter or the underscore.
- Cannot contain special characters except the underscore.
- Cannot match a reserved word.
- Must be unique within a context.
- Case Sensitive.
Data Types :
When a script is executing, different kinds of data gets stored. TSL simply uses the context in which we access the data to determine what the data type is. There are two data types in TSL:
- String : stores alphanumeric data.
- Number : Stores numeric data.
Data Storage :
This refers how information is stored in the test during test execution. TSL uses three different types of storage vehicles. These include :
- Variables : for dynamic storage.
- Constants : for fixed values.
- Arrays : for sets.
Variables :
Variables are used to capture the information that is to be needed later to be stored temporarily. In TSL, variable declaration is optional so you can create a variable simply by using the variable in your code. The only exception to this is in functions.
Constants :
Constants are very similar to variables because they store values also. The major difference between these two is that the value of a constant is fixed and cannot be changed during code execution.
Arrays :
Arrays are used to store several pieces of related data such as names. TSL provides a better mechanism for use when dealing with a collection of similar items. This concept, known as arrays, allows you to store several values of related information into the same variable.
Operations :
Operations are the many forms of computations, comparisons etc that can be performed in TSL. The symbols used in an operation are known as operators and the values involved in these operations are known as operands.
Branching :
Branching statements allow your code to avoid executing certain portions of code unless a specified condition is met. TSL uses two kinds of branching statements i.e. the if statement and the switch statement.
Loops :
Loops provide the ability to repeat execution of certain statements. These statements are repeatedly executed until an initial condition evaluates to false. TSL supports four different types of loops and these are the while, do..while, for and for..in loops.
Functions :
Functions are blocks of code containing one or more TSL statements. These code blocks are very useful in performing activities that need to be executed from several different locations in your code. TSL provides many built in functions as well as provides you the ability to create your own user‐defined functions.


Facebook activity