Subscribe by Email

Thursday, January 31, 2013

Explain EiffelStudio? What technology is used by EiffelStudio?

For Eiffel programming language, the development environment is provided by the Eiffelstudio. Both of these – the Eiffelstudio and Eiffel programming language have been developed by Eiffel software. Presently the version 7.1 has been released.

- Eiffelstudio consists a number of development tools namely:
  1. Compiler
  2. Interpreter
  3. Debugger
  4. Browser
  5. Metrics tool
  6. Profiler
  7. Diagram tool
- All these tools have been integrated and put under the single user interface of the Eiffelstudio. 
- This user interface in turn is based on several UI paradigms that are quite specific to one another. 
- There has been done effective browsing through ‘pick and drop’ thing. 
- Eiffelstudio supports a number of platforms including the following:
  1. Windows
  2. Linux
  3. Mac OS
  4. VMS and
  5. Solaris
- This Eiffel software product comes with a GPL license. 
- However, a number of other licenses are also available. 
- Eiffelstudio falls under the category of open source development. 
- The beta versions of the product of the following release are made available to the public at regular intervals. 
- The participation of the Eiffel community in the development of the product has been quite active. 
- A list of the open projects has even made available on the origo web site. 
- The host of this site is at ETH Zurich. 
- Along with the list, information regarding the discussion forums, basic source code for check out etc. also has been put up. 
- In the month of June 2012, the last version 7.1 was released and the successive beta releases were made available very soon after that.

Technology behind EiffelStudio

The compilation technology used by the Eiffelstudio called Melting Ice is unique to the Eiffel software and is their trademark.
- This technology integrates the interpretation process of the elements with the proper compilation process. 
- This technology offers a very fast turnaround time. 
- This also means that the time taken for recompilation depends up on the size of the change to be made and not on the overall size of the program. 
Such melted programs even though can be delivered readily but still a finalization step is considered important to be performed before the product is released.
- Finalization step involves a very highly optimized compilation process which takes a long time but the executable generated is optimized.
- The interpretation in eiffelstudio is carried out through what is called the byte code-oriented virtual machine. 
- Either .NET CIL or C is generated by the compiler. 

History of Eiffelstudio

- The roots of the Eiffelstudio date back to when the Eiffel was first implemented by interactive software engineering Inc. 
- The Eiffel software was preceded by the interactive software engineering Inc. -The first implementation took place in the year of 1986. 
-The current technology used in Eiffelstudio evolved from the earlier technology called the ‘Eiffel bench’ that saw its first use in the year of 1990. 
- It was used along with the version 3 of the Eiffel programming language. 
- In the year 2001, the name Eiffel bench was changed to what we know now, the ‘Eiffelstudio’. 
- This was also the year when the environment was developed to obtain compatibility with the windows and a number of other platforms. 
- Originally, it was only available for Unix platform.
- Since 2001, Eiffelstudio saw some major releases with some new features:
  1. Version 5.0 (july 2001): The first proper version. Saw integration of the eiffelcase tool with the eiffelbench as its diagram tool.
  2. Version 5.1 (December 2001): Support for .NET applications. Also called the eiffel#.
  3. Version 5.2 (November 2002): The debugging capabilities were extended, an improved mechanism for C++ and C was introduced, eiffelbuild, roundtripping abilities etc. were added.

Wednesday, January 30, 2013

Give an overview of The diagram Tool of EiffelStudio?

Eiffelstudio is a rich combination of a number of development environment tools such as:
  1. Compiler
  2. Interpreter
  3. Debugger
  4. Browser
  5. Metrics tool
  6. Profiler
  7. Diagram tool
In this article we shall discuss about the last tool of Eiffelstudio i.e., the diagram tool. 

A graphical view of the software structures is provided by the Eiffelstudio’s diagram tool. This tool can be used effectively in both:
  1. Forward engineering process: In this process it can be used as design tool that uses the graphical descriptions for producing the software.
  2. Reverse engineering process: In this process it produces the graphical representations of the program texts that already exist automatically.
The changes that are made in any of the above mentioned two processes are given guaranteed integration by the diagram tool and this is called round trip engineering. 
It uses any of the following two graphical notations:
  1. BON (business object notation) and
  2. UML (unified modeling language)
By default the notation used is BON. The Eiffelstudio has the capability of displaying several views of the classes and their features. 
It provides various types of views such as:
1. Text view: It displays the full text of the program.
2. Contract view: It displays only the interface but with the contracts.
3. Flat view: It displays the inherited features as well.
4. Clients: It displays all the classes with their features that depend up on other class or feature.
5. Inheritance history:  It shows how a feature is affected when it goes up or down the inheritance structure.
There are a number of other views also available. There is an user interface paradigm that is based on holes, pebbles and other development objects and the Eiffelstudio relies heavily on this. 

Software developers using Eiffelstudio have to deal with abstractions that represent the following:
Ø  Classes
Ø  Features
Ø  Breakpoints
Ø  Clusters
Ø  Other development objects

- The way they deal with these things are same as that of the way in which the objects during run time are dealt by the object – oriented in Eiffelstudio.
- In Eiffelstudio, wherever a development object appears at the interface, it can be picked or selected irrespective of how it is visually represented i.e., what name is given to it and what symbol and so on. 
- To pick a development object you just have to right click on it. 
- The moment you click on it the cursor changes to pebble (a special symbol) that corresponds to different types of the object such as:
  1. Bubble or ellipse for class
  2. Dot for breakpoint
  3. Cross for feature and so on.
- As the position of the cursor changes, a line appears displaying the original position and current position of the object. 
- The object can be dropped at any place where the pebble symbol matches the cursor.
- An object can also be dropped in a window that is compatible with it. 
- Multiple views can be combined together to make it easy browsing through the complex structure of the system. 
- This also makes it possible to follow the transformations such as re-naming, un-definition and re-definition that are applied to the features while inheriting.
- The diagram tool of the Eiffelstudio is the major helping hand in the creation of the applications that are robust, scalable and fast. 
- It helps you to model your application just the way you want. 
- It helps in capturing your requirements as well as thought processes. 
- The tools of the Eiffel studio make it sure that you don’t have to use separate tools to make changes in the architecture of the system while designing.

Explain Watir - Web Application Testing in Ruby?

Watir stands for web application testing in Ruby and was developed as an open source that would provide Ruby libraries by Paul Rogers and Bret Pettichord. The software is licensed under BSD and contains all ruby libraries that would be required for the automation of the web browsers. The software is known to drive a number of web browsers namely:
  1. Internet explorer
  2. Mozilla firefox
  3. Chrome
  4. Opera
  5. Safari
The software has been made available especially for ruby as the ruby gems. Watir is comprised of several smaller projects which define its functionality:
1.Watir – Classic: Ruby has got built – in OLE capabilities that can be used by watir classic for driving the IE pro grammatically. The way of operation of watir classic is different than that of the other HTTP based testing tools.
2.Watirspec: This one is watir’s executable specification.
3.Watir–web driver: The reference implementation of the web-driver specification is the selenium 2.0. the roots of the watir web driver can be traced to the HTML specification.

This automated test tool uses Ruby as the scripting language for driving the above mentioned web browsers. You can call it a tool kit for developing effective automated tests and run them against the browsers. Watir can be used for driving the web applications which can be looked up as HTML pages while browsing. 
However, Watir is not known to work with the following:
  1. Active X plug – in components
  2. Java applets
  3. Macromedia flash and other plug – in applications.
Before you use Watir for your application you need to determine whether it will work for it or not. To do so just right click on the object and check for the view source menu. If the HTML source for the object is available it can be well automated using watir otherwise not. There are certain prerequisites for using Watir which are that you need to have knowledge about the following:
  1. HTML
  2. Programming basics including simple control structures.
  3. Ruby: this is required if you put watir to a really good use.
Watir works well for all the windows platforms including Windows 2000, server 2003, XP and vista and it can be run on versions 6 and 7 of internet explorer. Using ruby 1.8.5 – 24 or 1.8.6 – 26 is recommended. For installing ruby and watir you need to log on as the administrator. 
There are two ways for installing Watir:
  1. From behind a proxy and
  2. From behind a firewall
The tests written using Watir are quite easy to read as well as maintain and exhibit simplicity and flexibility. The way Watir drives the web browsers is the same as done by people. It performs clicking operations such as clicking on links and buttons, forms filling operations and so on. Results are also checked by Watir. 
Ruby, like other programming languages provides your application with the ability to do the following:
  1. To connect to data bases
  2. To read from spreadsheets and data files
  3. To export the XML files
  4. To restructure your code so that it can be converted in to a reusable library.
Watir is free open source tool and therefore no money expenditure in using it. Ruby is a full featured modern programming language which lets Watir support all the web applications no matter by what technology it has been developed. Watir provides support to a number of browsers on different platforms. Though the tool is quite powerful it is extremely simple and easy to use. For using Watir it is recommended that you install the IE developer tool bar. 

Tuesday, January 29, 2013

What are the features of Eggplant testing tool? How is Eggplant run?

Eggplant is the GUI test automation tool that uses the black box approach in its testing process. The product stands out in the category of the GUI test automation tool and has even received US patent for its extra ordinary features. 

Features of Eggplant

The features of eggplant are:
  1. Guided record mode: This record mode is quite sophisticated in comparison to the regular mode. It generates code by means of capturing the images thus avoiding the extra and unnecessary recording of the keyboard and mouse events.
  2. Debugging
  3. Code completion
  4. Eggplant can be integrated very well with the other quality management software. It can be further used for augmenting the systems like the HP quality center.
  5. Eggplant features an execution only mode i.e., the software testers and developers have the freedom of running the tests unattended via the command line interface of the eggplant.
 It can be used for a number of testing methodologies such as:
  1. Mobile testing
  2. Cross browser testing
  3. Cross platform testing
  4. Rich internet application testing
  5. Performance testing
A free trial of eggplant software can be downloaded from the website of the company. Some additions that were made to the version 11 of the eggplant are:
  1. Integration of the OCR engine
  2. Sense talk scripting
  3. Mac OS X lion support
The mobile version of the eggplant lets the software testers to carry out automated testing on mobile devices. Eggplant mobile provided a universal solution for testing the mobile applications across a number of mobile operating systems such as the following:
  1. Android
  2. iOS
  3. blackberry
  4. Symbian
  5. Windows
- The OCR engine that was integrated in version 11 of the eggplant is a global one and also supports the latest version of the windows – windows 8. 
- The scripts developed by the eggplant are reusable. 
- The eggplant software can be made ready within an hour and you can start writing test scripts and executing them without wasting much time.

- To set up the eggplant software follow the below mentioned steps:
Ø First install the eggplant application.
Ø Now set up the system under test and install a VNC server on it.
Ø Set up a VNC connection.
ØFor a better understanding of how to use the application it is recommended that you take a tour of it.

Testing Process with Eggplant

Now we present a brief overview of the testing process with eggplant:
  1. Set up your SUT and a VNC connection as mentioned previously in the article.
  2. The SUT is controlled through eggplant so that you can capture images indicating the SUT interface elements. These are the elements with which you want the eggplant to have an interaction with.
  3. Third stage involves generation of the scripts that guide the eggplant regarding what is to be done at the image locations that you have selected.
  4. You can execute the scripts as many times as you require carrying out a particular task such as validating a process.
  5. The result is generated in the suite editor and consists of detail run info and statistics that you can use for analyzing your results.
Best thing about eggplant is that even if it can be installed only on one computer (since it comes only with one computer per license), it can test any number of other computers. The scripts are created on the controller machine from where they can be executed on any other computer. This it does through the VNC (virtual network computing) server which sends the commands to the SUT. 

Sunday, January 27, 2013

Explain Eggplant (GUI testing tool)? What is the approach behind Eggplant?

- Eggplant is an automation testing tool developed exclusively for carrying out black box approach based GUI testing. 
- This test automation tool came in to market in the year of 2002 and the developer was the Redstone Software. 
- Later, in the year of 2008, TestPlant – a UK based company took Redstone software in it’s under. 
- Basic technology used here is the image matching technology. 
- This is seen as quite contrary to examining the application under test (AUT) at the object level. 
- This helps in automation of the whole system under test (SUT) rather than focusing up on the application – specific solution.
- This implies another thing which is that the system on which the AUT runs and the technology used for developing the AUT do not matter at all. 
- The eggplant operates up on two computer systems. 
- The purpose of these two systems can be defined as follows:
  1. Controller machine: The purpose of this computer system is to author the scripts and execute them accordingly
  2. SUT or system under test: The purpose of this computer system is to run the VNC server.
- A connection is established between the eggplant and the VNC server through a built in viewer that operates on the internet protocol suite. 
- Any system that has a dedicated VNC server can be used as the System under test. 
Earlier, the controller environment IDE was available only for Mac but now it is available for various platforms including linux and windows.
- The controller machine authors the scripts via sense talk that is a proprietary scripting language. 
- This language is quite similar to English and therefore too easy to use. 
- This proprietary language is used along with the guided record mode. 
- By guided record mode, we mean that the navigation through the system and the verification of the test steps is taught to the eggplant by the script-er.
-  In the year of 2011, an announcement to launch a more advanced version of the then successful eggplant was made by the TestPlant. 
- This new version saw the integration of the optical character recognition (OCR) with the eggplant and was supported by ABBY. 
- It could be run in compatibility with the linux, windows and Mac versions of the eggplant. - In the same another eggplant product was launched that sought to improve test environments provided by the eggplant and was called the eggplant manager. 
- The characteristic features of the eggplant that make it so distinct from the other GUI test automation tools:
  1. Guided record mode
  2. Debugging
  3. Code completion
  4. Can be integrated with the other quality management software
  5. Execution only mode
- Technology behind the eggplant is image recognition algorithms.
- These algorithms let view the screen of the system under test. 
- The US patent was secured by the eggplant to be ability to monitor the GUI on a second computer screen from the previous computer screen. 
- This made it possible to run the tool without requiring any manual intervention. 
- With this, the product came in to the eyes of the UK trade and investment, especially the DSA (defense and security arm).
- Any operating system, browser or technology is fit for running the eggplant.

Saturday, January 26, 2013

What are features of QF – Test?

Qf – test is abundant with features. The QF–test was made available in the market in the year of 2001 and since then it has gained over 600 customers worldwide in around 50 countries.  

Features of QF–test

- It is has been counted as the most professional tool for carrying out regression and functional testing on the web applications. 
- The foundation of the tool is also well established and it has got a high efficiency rating by the users. 
- The tool has been a breakthrough in the field of automated testing of the java based web applications that have a GUI or graphical user interface.
- The reusable tests and the modular tests are combined with the user– friendly handling as well as a price that is competitive enough which in turn yields a high ROI or return of investment. 
- Also, there have been no doubts regarding its power in automated testing  and cross platform testing. 
- In addition to these, it is quite robust in nature which makes it suitable for the cross – browser testing. 
- Without much hard work one can easily create automated load tests and regression tests. 
- The documentation of the tests and their reports can be configured very easily. 
- QF – test has made the recognition of the complex dynamic objects very reliable and quick.
- It supports all the unix systems as well as the windows platforms. 
- Swing, Internet explorer, Mozilla firefox and SWT are also supported. 
- The interface of the QF – test is quite user friendly and the documentation is quite comprehensive. 
- The tool is perfectly supported by the authors directly and quickly.
- The tool comes with an user interface that is quite intuitive in nature and the capture and playback feature is excellent. 
- The documentation of QF–test is quite extensive and has got both manual and tutorial. 
- The evaluation for the reports is done free of cost.
Currently 3 GUI technologies are supported by the qf – test namely:
  1. Swing
  2. SWT and
  3. Web
- These three technologies can be combined in various combinations. 
- Certain features why most of the people prefer QF–test are:
  1. Clear concept used.
  2. Logical
  3. Comprehensiveness
  4. Ease of use
  5. Good price
  6. Good customer care
  7. A product of Germany
- QF–test has proved to be a great tool for the creation and maintenance of the swing tests. 
- The QF–test has provided timely support to the IT industry.
- The testing time is greatly reduced such as to 3 hours from 21 hours. 
- It supports a number of technologies for testing:
  1. Swing: webstart, applets, captain casa, ULC
  2. SWT
  3. Eclipse’s standard widget tool kit inclusive of the rich client platforms or RCP and plug – ins.
  4. Web GUIs: AJAX (ExtGWT, RAP, Richfaces, Qooxdoo, GWT and so on.), web 2.0 and so on.
- The java version required for the qf – test is version 1.5 or higher than that. Platforms supported are:
  1. Windows: windows 7, XP, vista, 2000, server 2008 and 2003.
  2. Linux platforms
  3. Solaris
  4. AIX
  5. HP – UX
  6. Mac OS – X
- Browsers supported are:
  1. 32 and 64 bits JDKs: IBM, excelsior JET etc.
  2. SWT version 3.3 and plus

Friday, January 25, 2013

Explain QF-Test?

The QFtestJUI has been succeeded by the QF – test and was made available in the year of 2001. 

About QF-Test

- QF test was developed by the QFS or quality first software.
- It is actually a software tool for cross platform testing and automation of the GUI tests. 
- QF – test is limited to the following:
  1. Java
  2. Swing
  3. SWT
  4. Eclipse plug – in
  5. RCP applications
  6. Java applets
  7. Java web start
  8. ULC
  9. Cross browser test automation
- All of the above are applications for dynamic as well as static web based applications such as HTML, GWT, Qooxdoo, Vaadin, rich faces and so on. 
- QF – test also provides assistance with the load testing and regression testing of the web applications and supports all the UNIX systems and windows platforms.
- The first commercial use was in the field of quality assurance and is extensively used by the software testers. 
- QF–test is one of the most popular among the capture and playback tools and scripting tools. 
- It has been developed so that the testers and QA people find it very easy to use. 
- The product is quite reliable and robust and also has the ability to support system testing. 
- The QF–test is estimated to have around 600 customers all over the world. 
- It is the professional java and web applications testing tool and has a great efficiency in coping with the automated testing. 
- Modular as well as reusable tests are supported well by the QF–test in various combinations. 
- The product offers a high ROI i.e., return of investment because of its user – friendly GUI and affordable price. 
- Cross browser testing is supported by QF–test for Mozilla Firefox and Internet Explorer and both on the Unix and Windows platforms. 
- The dynamic UI components that have very high complexity can also be reliably recognized by the QF–test. 
- The tests developed with QF–test have the ability to tolerate any GUI changes and so they do not require any high maintenance. 
- QF–test has various in–built modularization and sequential control mechanisms that allow the testers to create sophisticated tests. 
- The test documentation and the reports produced by the QF–test are highly configurable. 
- The tool has been comprehensively documented and provides the perfect support. 
- Because of its intuitive user interface, both the testers and the software developers find it very easy to use it.
- The documentation of the tool is so extensive and consists of various things such as:
  1. Manual
  2. Tutorial
  3. Mailing list
  4. Archive and so on.
- One can obtain training regarding the QF–test on the OFS web site as webinar. 
- The modularization mechanism of the QF–test enables the testers to create large test suites in an arrangement that is concise. 
- There are some users who require a more advanced control over the application.
- The tool provides access to internal structures of the program for them via scripting languages such as java and jython and not to forget groovy. 
- Another feature called the batch mode allows a tester to run a group of tests unattended and generating reports in a number of formats such as HTML, XML and JUnit. 
- This lets the tool to be integrated in to various frame works such as maven, Jenkins and so on. 

Thursday, January 24, 2013

Explain Oracle Application Testing Suite?

Oracle application testing suite is an effort to provide you with a comprehensive web application testing solution that is quite integrated and has got all the tools that you may require for ensuring the reliability as well as scalability of your applications that are based up on critical business processes. 

Oracle application testing suite has got three main parts namely:
  1. Oracle Functional Testing: This is for performing regression testing and functional testing on web applications.
  2. Job scheduler: This component of the testing suite is responsible for scheduling the testing of the application.
  3. Oracle load testing: This is for carrying out scalability testing, load testing and stress testing on the web applications. This component also consists of some tools that can be very well used for monitoring and reporting on the server side.
- A common set of the visual scripts is what that powers the web applications and therefore they don’t require any programming.
- Also, you don’t need to learn any proprietary language, take training classes or to set up any special proxies. 
- As any changes are made to the application, they are reflected in the visual scripts of the application and the updates are automatically performed. 
- This means that the load tests and the regression tests that you created will be automatically synchronized with the application. 
- This will help you to make the automated regression testing an important part of the development process. 
- The functional testing feature of the oracle application testing suite serves as a tool for functional as well as regression testing and as a script recorder for the whole testing suite. 
- Objects on each and every page are recorded by the functional testing suite and the tests are automatically inserted for the validation of the objects.
- In the visual script you can find the graphical representation of each and every object. 
- The components can be augmented or masked as you require with the help of simple click actions.
- The objects on a page are displayed in the tree hierarchy in the visual script. - Flags are used for indicating the differences between the current version and the baseline.
- With the oracle functional testing the creation, maintenance, and execution of the tests becomes very easy. 
- It comes with the following:
  1. An intuitive yet powerful automated test case generator.
  2. A special text matching component.
  3. Ability of executing the data driven tests via the data bank wizard.

Features of Testing Suite

The features of the testing suite have been highlighted below:
  1. Automatic test generation/ visual script technology: This features lets you record and test the whole application with object orient scripts that are reusable. The following are the elements that are automatically captured:
Ø  Elements
Ø  Forms
Ø  Frames
Ø  Images
Ø  Image maps
Ø  Links
Ø  Active X controls
Ø  Java applets
Ø  VBscript
Ø  Java script
  1. Simple script updating: Scripts are updated as per the changes with a simple click.
  2. Graphical test results: Red flags indicate the HTML differences or any failures so that they can be diagnosed.
  3. E- spider: Whole of your site is automatically mapped and visual scripts are created for either whole or partial of your application.
  4. Data bank wizard: It enables you to create data bank wizards without actual programming. Since the visual scripts reusable they can be used again and again with different inputs every time.
  5. Visual test case insertion: This feature lets you add extra test cases to the scripts fore the verification of the server response times, text of the page and form elements and so on.
  6. Programming interface

Wednesday, January 23, 2013

What kind of testing engines are supported by Fitnesse?

Fitnesse testing tool is typically a testing method designed for providing a highly usable interface around the frame work called FIT. Therefore, it is mostly intended to support the agile style of regression testing and acceptance testing. In this style of regression and acceptance testing, all the functional testers collaborate together with the developers in order to come up with a good testing suite. 

- Fitnesse testing revolves around the idea of the black – box testing. 
- The system under test is taken to be a black box. 
- Output generated in response to the already defined inputs is used to perform tests against the considered black box.
- The job assigned to the functional tester is to design the tests in function specific sense and use fitnesse testing tool to express them. 
- On the other side a software developer is assigned the job of making a connection between the SUT and the Fitnesse tool so that the execution of the tests can take place and the two outputs could be compared. 
- The basic idea behind this whole testing process is to develop a forced collaboration among the developers and the testers so that the mutual understanding of the system’s requirements can be improved.
- Four components constitute the testing process through fitnesse namely:
  1. A wiki page
  2. A testing engine
  3. A test fixture
  4. System under test

Types of Testing Engines supported by FitNesse

- A piece of java code is used to establish a link between the SUT and the generic testing engine.
- Testing engine is responsible for carrying out most of the mapping and invoking the fixture methods. 
- Two engines are majorly supported by the fitnesse testing tool:

FIT Testing Engine 
- This engine serves more than just a testing engine. 
- It is more like a testing frame work in itself that makes use of a combination of functionality for invoking tests; carry out an interpretation of the wiki pages and generation of the output pages. 
- This is the testing engine around which the testing engine was built originally to serve initially as a user interface.
- And this is the story behind the name of the tool ‘fitnesse’. 
- This testing engine combines a number of responsibilities in to one unlike others that divide one responsibility in to many smaller ones.
- But software developers need to pay price for this since in this an FIT engine requires an inheritance from the base classes of the FIT frame work.
- However, java counterpart can experience some sort of difficulty since one chance of class inheritance of a developer is claimed by the frame work. 
- This also coveys a fact that the test fixtures are actually heavy weight constructs in nature. 
- Because of these considerations only, it was decided to adopt an alternative to FIT testing engine called SLIM testing engine.

SLIM Testing Engine
- Simple list invocation method is abbreviated to SLIM and serves as the best alternative to FIT testing engine. 
- It does not focuses on the combination of the wiki – based testing elements rather it emphasizes up on the invocation of the testing fixtures. 
- Unlike the FIT testing engine, it is invoked under the remote control of the Fitnesse wiki engine and then runs as an individual server. 
- Interpreting a wiki page and generating its result is now considered to be a part of the wiki testing engine. 
- Further the light weighted fixtures are allowed in the SLIM testing engine, which are nothing but simple POJOs. 
- One does not need to extend the fixtures or put any other frame work classes in to use. 

Facebook activity