Subscribe by Email


Showing posts with label Tools. Show all posts
Showing posts with label Tools. Show all posts

Sunday, September 7, 2014

Some tools that can be used in Test Driven development

Here we present a list of tools that can be used for carrying out Test Driven Development (TDD). The test driven development is equivalent to the Big upfront designing. The efficiency and the development speed both are improved in this process. Finding mistakes is quite fast and cheap in TDD. The iterations are short and therefore provide a means for frequent feedback. The test suites are up to date and executable and serve as a complete documentation in every sense. The tests are written before the code. Then the code is refactored to produce high quality code.

Tools for TDD are:
• JUnit: this is the java’s unit – testing framework.
• Some commonly used refactoring tools are RefactorIT, IntelliJ IDEA, Eclipse, Emacs and so on.
• HTTPUnit: This is a black box web testing tool and is used for automated web site testing.
• Latka: A java implemented functional testing tool. This tool can be used with JUnit or Tomcat.
• Cactus: A server – side unit testing tool provides a simple framework for unit testing on server side. It also extends on JUnit. The tool provides three types of unit tests i.e., the code logic unit testing, functional unit testing and the integration unit testing.
• Abbot and Jemmy: Tools for GUI testing. The first one keeps a scripted control on actions based on high level semantics. Jemmy is more powerful and provides full support for swing.
• Xmlunit: This tool lets you draw comparisons between 2 xml files.
• Ant: The tool is based up on java and xml. It is completely platform independent.
• Anteater: An Ant based testing framework. It is used for writing tests that check the functionality of web services and web applications.
• Subversion: This one is a replacement for CVS and controls directories in a better way.
• Jmock: The tool uses mock objects that are dummy implementations of the real functionality and are used for checking the behaviour of the code. The non – trivial code cannot be tested in isolation. Unit tests can be used for everything right from simplification of test structure and cleaning up domain code. You should start from testing one feature at a time and rooting out the problems one by one. Carrying out the testing normally without using any mock objects can be hard. Before carrying out the test, you should decide what needs to be verified. Then you must show that it passes the test. Only after this, the mock objects can be added for representing these concepts.


csUnit
CUnit
Googletest
DUnit
HTMLUnit
NUnit
OUnit
PHPUnit
pyUnit

The above mentioned tools are used for writing unit tests in Test Driven development. However, these unit tests are bound to have errors. Also the unit tests are not apt for finding errors resulting because of interactions between different units. The path to success involves keeping things as simple as possible.
The end result of TDD is highly rewarding. The program design is organic and consists of loosely coupled components. All that you think can go wrong should be tested by proceeding in baby steps. One thing to be taken care of is that the unit tests should run at their 100%. Refactoring is not about changing the behaviour of the code. It is about making improvements to the internal code structure. It should be carried out to improve the quality, maintainability and reliability of the code.


Sunday, May 26, 2013

Where are artificial neural networks applied?


The artificial neural networks have been applied to a number of problems in diverse fields such as engineering, finance, medical, physics, medicine, and biology and so on. 
- All these applications are based on the fact that these neural networks can simulate the human brain capabilities. 
- They have found a potential use in classification and prediction problems. 
These networks can be classified under the non-linear data driven self adaptive approaches. 
They come handy as a powerful tool when the underlying data relationship is not known. 
- They find it easy to recognize and learn the patterns and can correlate between the input sets and the result values.
- Once the artificial neural networks have been trained, they can be used in the prediction of the outcomes of the data. 
- They can even work when the data is not clear i.e., when it is noisy and imprecise. 
- This is the reason why they prove to be an ideal tool for modeling the agricultural data which is often very complex. 
- Their adaptive nature is their most important feature.
- It is because of this feature that the models developed using ANN is quite appealing when the data is available but there is a lack of understanding of the problem.
- These networks are particularly useful in those areas where the statistical methods can be employed. 
- They have uses in various fields:

    1. Classification Problems:
a)   Identification of underwater sonar currents.
b)   Speech recognition
c)   Prediction of the secondary structure of proteins.
d)   Remote sensing
e)   Image classification
f)    Speech synthesis
g)   ECG/ EMG/ EEG classification
h)   Data mining
i)     Information retrieval
j)    Credit card application screening

  1. Time series applications:
a)   Prediction of stock market performance
b)   ARIMA time – series models
c)   Machine robot/ control manipulation
d)   Financial, engineering and scientific time series forecasting
e)   Inverse modeling of vocal tract

  1. Statistical Applications:
a)   Discriminant analysis
b)   Logistic regression
c)   Bayes analysis
d)   Multiple regression

  1. Optimization:
a)   Multiprocessor scheduling
b)   Task assignment
c)   VLSI routing

  1. Real world Applications:
a)   Credit scoring
b)   Precision direct mailing

  1. Business Applications:
a)   Real estate appraisal
b)   Credit scoring: It is used for determining the approval of a load as per the applicant’s information.
c)   Inputs
d)   Outputs

  1. Mining Applications
a)   Geo-chemical modeling using neural pattern recognition technology.

  1. Medical Applications:
a) Hospital patient stay length prediction system: the CRTS/ QURI system was developed using a neural network for predicting the number of days a patient has to stay in hospital. The major benefit of this system was that money was saved and better patient care. This system required the following 7 inputs:
Ø  Diagnosis
Ø  Complications and comorbidity
Ø  Body systems involved
Ø  Procedure codes and relationships
Ø  General health indicators
Ø  Patient demographics
Ø  Admission category

  1. Management Applications: Jury summoning prediction: a system was developed that could predict the number of jurors that were actually required. Two inputs were supplied: the type of case and judge number. The system is known to have saved around 70 million.
  2. Marketing Application: A neural network was developed for improving the direct mailing response rate. This network selected those individuals who were likely to respond to the 2nd mailing. 9 variables were given as the input. It saved around 35 % of the total mailing cost.
  3. Energy cost prediction: A neural network was developed that could predict the price of natural gas for the next month. It achieved an accuracy of 97%. 


Sunday, February 24, 2013

Explain Fabasoft app.test - Web Functional/ Regression Test Tool


About Fabasoft app.Test

- Fabasoft distribution GmbH has developed a web testing tool called the fabasoft app. Test.
- It can be used to create tests based up on the patterns that are effective in reducing the complexity of the java and HTML applications.
- These tests do not contain any CSS and XPath expressions but they do contain statements that are meaningful and can be easily understood. 
- The features of this tool can be extended by connecting with it the eclipse plug–in that is a point–and-click editor. 
- This plug–in can be used for designing effective patterns for web sites. 
Fabasoft app. Test supports web browsers such as Mozilla firefox, internet explorer, and safari and so on. 
- In all these browsers, tests can be recorded using the above point–and–click recorder.
- The recorded test scripts than can be replayed immediately after recording in the other browsers and there is no need for modifying those scripts.
- The tool is even capable of generating various reports in formats such as PDF or html, documentation of the errors consisting of various dumps and screen shots. 
- It supports various platforms such as:
1.   Win
2.   Linux
3.   Mac OS – X

Features of Fabasoft app.Test

 
Some of the characteristic features of this web testing tool are:
1.   Recorder
2.   Multi – browser support
3.   Script and dialog error handler
4.   Documentation of the errors along with screen shots
5.   Various dumps
6.   Several reports in formats such as pdf and html.

- If you have opted for using fabasoft app. Test, you can just sit back and relax and let the tool take on the testing process. 
- The tests that are created with fabasoft app. Test are easy to understand and there is no requirement of the programming skills.
- It can be considered to be the next generation web testing. 
- You can teach fabasoft app. Test about your application in just a few clicks. 
The fabasoft app. Test can test the application further for omissions and errors. 
- The tool is quite easy to install and use.
- Large scale web sites are developed through standards such as content management systems (CMS) including red dot, liferay, joomla and so on. 
- Since these web sites represent the reputation of the companies, it is important that they should remain highly accessible all the time and free of errors. 
- The web developers often end up looking for GUI testing tools for testing their sites. 
- Fabasoft app. Test can be used for the automated testing of the web applications no matter what technology has been used for building these applications such as ASP, PHP, flash, JavaScript and so on. 
- The fabasoft app. Test can be taught about the structure of the application to be tested. 
- Once done with this, you can start with the recording of the test and obtaining reports. 
- It ensures that your application is can run on all the platforms and web browsers. 
- Stay automatically informed about the status of your application testing. 
- You get to know about a problem as soon as it is encountered and solve it well in time.
1.   Fabasoft app. Test studio
2.   Point and click recorder
3.   Multi browser support
4.   Control specification designer
5.   Internationalization of the tests
6.   Test player
7.   Console player
8.   Remote agent
9.   Commander
10. BIRT report support
11. Html reporting



Saturday, February 23, 2013

Explain FuncUnit and QUnit - Web Functional/Regression Test Tool


FuncUnit and QUnit are both tools developed for web functional and regression testing. In this article we first discuss about the FuncUnit testing tool.

About FuncUnit Tool

- It is an open source framework and therefore free to use. 
- The API that this tool uses is based up on the JQuery.
- FuncUnit can either be used as a standalone application or a part of the JavaScript full stack framework. 
- This JavaScript framework is commonly known as the JavaScript MVC. 
Almost all the modern browsers are supported by FuncUnit on almost all the platforms such as mac, linux etc.
- The tool also offers you a choice of running the tests through selenium. 
- An integrated development environment or IDE called funcIT is also available for this tool. 
- Another component is there using which synthetic events can be created and default event behavior can be performed.
- It is known as the Syn and it can simulate events such as dragging the mouse, clicking, typing and so on. 
- Using syn complex JavaScript functional testing can also be carried out. 
FuncIT lets you do the testing directly in the browser. 
- Writing, running and debugging of the tests takes place in the web browsers. - FuncUnit makes this all so easy. 
- You just need to open a page and start the debugger. 
- FuncUnit uses syntax similar to that of the JQuery. 
- This is the perfect web testing tool for you if like short and flexible test cases.  - You can run the tests in any of the browsers and later automate them via selenium. 
- FuncUnit supports the following versions of the modern browsers:
  1. Internet explorer version 6 and above.
  2. Firefox version 2 and above.
  3. Safari version 4 and above.
  4. Chrome
  5. Opera version 9 and above.
- Platforms supported are mac, PC and Linux. 
- In other words you have a complete automated testing suite.
- Some of the features are:
1.   Functional testing
2.   High fidelity
3.   Automated
4.   Free
5.   Multi – system
6. Easy to write


About QUnit Tool

 
- QUnit is based on the similar lines as that of the junit which is a unit testing framework. 
- This testing tool works on the JavaScript test suite (that is used by the JQuery project) for testing the code. 
- It comes with various plug – ins which render it the ability to test any generic JavaScript code. 
- Though, QUnit is somewhat similar to Junit, it does uses features of JavaScript for helping with the testing chores in the web browser like starting and stopping the facilities to carry out tests for the asynchronous code. 
- QUnit is quite a powerful unit testing framework used in JQuery mobile projects, JQuery UI and so on.
- You can get QUnit from JQuery CDN and the latest release id version 1.11.0. 
John Resig is the person behind QUnit.
- Earlier in 2008, QUnit was completely dependent up on JQuery but now it can be used as a standalone application. 
- Common JSunit testing specifications are followed by the assertion methods of QUnit.
- For automated testing writing your own testing framework involves a lot of work since you have to cover all the requirements of JavaScript code. 
- QUnit makes this all easy. 
- You need to include only two QUnit files on the page namely:
QUnit.js: This is the test runner file and
QUnit.css: This styles the test suite so that the results can be displayed.

- Assertions are essential elements of all the unit tests and the QUnit provides 3 namely:
Ok()
Equal()
Deepequal()





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.


Thursday, February 21, 2013

Explain Janova - Web Functional/Regression Test Tool


About Janova Testing Tool

- Janova is another tool in the class of the web testing tools but certainly better since it is automated. 
- The major characteristic feature that sets this testing tool apart from the others is its capability of running the tests in the cloud with security and reliability. 
- Janova can be configured using the project structures of features such as pages, test scripts and flows for accessing the web – based applications and defining its requirements in natural language such as English. 

How the application is supposed to work is described by its features.

- Firstly, the feature is created, verification elements are defined by the user that is supposed to be on that particular web page. 
- The tool also provides the detailed result reports concerning the tests performed. 
- Janova is all about automated testing in cloud which is powerful, effective and simple. 
- Using Janova, you can write tests in simple English. 
- Therefore, the need for coding is eliminated. 
- The tests are executed via the power of the cloud. 
- The detailed reports help you to understand the results of your test. 
- The plain English business rules are turned in to the tests by Janova. 
- Since the tests are run in the cloud, the need for keeping the software up to date and disparate files is reduced.
- Also, you don’t need to spend thousands of dollars on the maintenance of the software testing equipment.
- For producing the code – free business requirements the features, flows and pages. 
- These requirements then become the automated tests that can be executed in the cloud at a speed that is 20 times faster than the usual web testing tools. 

How Janova actually works?

- Janova offers such an automated testing solution that lets you test an application across various environments. 
- You can use the power of the cloud for multiplying the effective workload and at the same time can track the progress of your development team. 
- Janova has been designed in such a way that the brittleness that other testing solutions have can be avoided.
- If the business requirements undergo any changes, they are automatically reflected in the tests since the tests are requirements and requirements are tests. 
- Therefore, changes made in one are reflected in the other.
- Using just plain English you can create a test in very less time that would be capable of creating and updating the variables automatically.
- It would also link the variable through the system of features, steps, scenarios, and pages.
-The tests are defined at a very high level allowing you to implicitly understand the desired outcome of the test. 
- Once you are done with the creation of the features and scenarios, you can define the variables by right – clicking on the ‘inspect element’ option with any tools preferred by the developer and moving that info in to the page files. 
What if you encounter an error in the page files? 
- Janova provides solution for this also. 
- You can edit it here and the changes will be retroactively be updated within the tests. 
- The application under test goes through the following stages:
  1. Janova application
  2. Broker
  3. Workers
  4. Secure access
  5. Results
- Janova operates through the cloud – based system of workers.
- It scales and delegates the processing power automatically ensuring that you get results for your tests as fast as possible.
- The plain language syntax is converted in to a testing script. 
- This script is then distributed throughout the cloud.
- Janova has partnered with GoodData (which is a business intelligence provider) in order to provide it users with a more powerful analytic suite.


Wednesday, February 20, 2013

What are key technologies supported by Maveryx? - Part 2


In this part of the article we shall discuss about the remaining 3 key technologies of the Maveryx automated testing tool:

5. Extensibility: 
- The plug–in system of the Maveryx is quite extensible.
- It can be made richer by customizing. 
- Maveryx allows the users to customize the default functionality and other specific desired capabilities using individual plug – ins.
- A number of plug–ins for a number of reasons are supported by the Maveryx tool. 
- Few of those reasons have been listed below:
a) For adding support dedicated to the complex as well as custom GUI controls.
b)  For adding test actions such as APIs that are proprietary.
c)  For adding new algorithms for matching.
d) For integrating the maveryx with a number of other tools like bug tracking tools, SCM tools and so on.
- Maveryx has got it all: the reliable and easy to use testing environment and intuitive testing functionality to help you create the best test project. 
- Maveryx holds a collection of powerful but easy to use java APIs that help in creating better regression and functional test cases. 
- Since Maveryx is an open source tool so you have the power of modifying it or extending it any way to fit your requirements. 
- Plug–ins are the things that help you in this regard. 
- They can be installed and removed at any times. 
- Maveryx has been designed so as to allow the mechanisms and hooks that help in enhancing the frame work without calling for any major changes in the infrastructure of the system. 
- Extensions can be made in either of the two ways:
Ø  By adding a new functionality or
Ø  By modifying an existing one
- Programming interface is another thing that helps with the extension of the maveryx tool. 
- By installing core plug–ins, you enhance the capabilities of the Maveryx making it to adapt your specific requirements or your organization’s specific requirements. 
- Customizing Maveryx increases its functionality and increases the speed of the testing process.

6. Eclipse plug–in
- Maveryx comes with a separate plug – in for the eclipse tool. 
- It consists of the software tools that can be deployed to make use of the java eclipse IDE, thus granting the developers and software testers with an ability of designing, building and executing the automated test scripts using the Maveryx testing tool.
- This plug–in provides assistance to the software testers who are using Maveryx in the creation of the new test classes for test projects and generation of the java code via Maveryx’s frame work.

7. Test Reporting
- When you execute a test case, you do not have to worry about generating the metrics. 
- Maveryx does it all for you through its test reporting key technology. 
- It automatically generates the metrics. 
- Plus, it also puts all the detailed reports at your fingertips.
- The results of the tests execution are also displayed automatically. 
- Actually, all this is done in coordination with the eclipse plug–in.
- The plug–in in turn makes use of a number of Maveryx’s reporting features for the creation of the reports and live charts during the execution process of the tests.
- The plug–in only creates the finalized test reports that give an explanation regarding the results of the tests through visual aids such as charts, tables, statistics and so on.

The maveryx software testing tool has got a number of other features such as:
- Test logging capabilities
- Automated verification points
- Multi – application testing
- Distributed application testing
- Error handling feature that is customizable
- Multilingual testing
- Keywords



Facebook activity