While manual testing can find lots of faults in a program application, it is a laborious and time method. Furthermore, it can be effective in the pursuit of definite kinds of defects. The test automation is a method of writing a computer program to check that would have otherwise done by hand. Two time the tests have been automated, that can run fast. This is usually the most cost effective technique for program products that have a keeping life long, because even smaller patches during the lifetime of the application may cause features to break they were working at an earlier point in time.
There's two general approaches to check automation:
• Test-driven code. The public (in general) to the kinds of interfaces, modules or libraries are tested with a variety of input arguments to validate the results that are returned are correct.
• Graphical user interface testing. A framework of analysis generates events of the user interface, such as keystrokes and mouse clicks, and observes the changes that result in the user interface, to validate that the observable behavior of the the program is correct.Check automation tools can be expensive, and is often used in combination with manual testing. It may be makes profitable in the long run, when used repeatedly in regression testing.Two way to generate check cases automatically is model-based testing through the use of a model check technique case generation, but research continues on a variety of alternative methodologies for doing so.What to automate, to automate, or even if two needs to automation are crucial decisions that check (or development) team should do. Selecting the right features for the automation of the product greatly determines the success of automation. Automation unstable features or characteristics that are experiencing changes should be avoided.
A growing trend in program development is the use of testing frameworks such as the x Unit frameworks (for example, J Unit & N Unit) that permit the execution of unit tests to select whether the different sections of code act as expected in different circumstances. Check cases report tests that must run in the program for verify that the program runs as expected.Code-driven check automation is a key feature of Agile program development & is known as evidence-based
development (TDD). Unit tests are written to define the functionality before writing the code. Only when all the evidence code step is thought about complete. Proponents argue that produces program that is both more reliable & less expensive that the code is tested by manual examination. It is thought about more reliable because code coverage is better, & because it is run constantly during development than two time at the finish of a waterfall development
Check automation cycle. Because the developer discovered the defects immediately after making a alter, when it is less expensive to correct.Moreover, since the only code that is written is what is necessary to make the tests pass, the tendency to write code was deleted. Finally, rework is more secure. When the code is faster or cleaned up, all tests must pass continue to pass or remodeled code is not working as it should.
Graphical User Interface (GUI) testing:
Many tools provide check automation recording & playback features that permit users to record user actions interactively again & repeat any number of times, comparing actual results anticipated. The advantage of this approach is that it requires tiny or no program development. This approach can be applied to any application that has a graphical user interface. However, the dependence of these characteristics pose a greater reliability & maintenance.Relabel a button or move to another part of the window may need the check to be re-recorded. Registration & Reproduction also added activities often irrelevant or incorrect records of some activities.A variant of this type of gizmo is for testing web-sites. Here, the "interface" is the web-site. This type of gizmo also program development requires tiny or none. However, this framework uses a methodology different because HTML is reading in lieu of watching the events of the window.
Another variation is script less check automation that does not use the recording & playback, but builds a model of the application under check & then allows the tester to generate check cases by basically editing check parameters & conditions. This requires no scripting skills, but has all the power & flexibility of a scripting approach. Test-case maintenance is easy, as there is no code to maintain & as the implementation of changes in the program check objects
can basically be acquired or re-added. It can be applied to any GUI-based program application.
What to test:
Testing tools can help automate tasks such as product installation, check information creation, GUI interaction, the problem of
detection (think about testing or polling agents equipped with oracles), the absence of registration, etc., without necessarily
check automation in an finish to finish fashion.
It should have the following points when thinking about check automation:
• Platform & operating process independence
• driven information capacity (information input, output information, metadata)
• Customizable reporting (DB Access, Crystal Reports)
• Email notifications (automatic notification in case of failure or threshold levels)
• Easy debugging & logging
• Version control friendly - maximum or no binaries
• Extensible & customizable (API open to be able to integrate with other tools)
• Common Controller (Ant or Maven)
• To carryover out Headless done without supervision (for integration with the building method or a batch of runs)
• Support distributed execution environment (distributed testbed)
• Support for distributed applications (distributed SUT)