Those who believe they will be actively customizing their automated test environments may want to start with Selenium and customize it from there, whereas those who want to begin in a more structured test environment may be better off with one of the systems that are built on top of Selenium. Selenium can be scripted in a multitude of languages, including Java, Python, PHP, C#, and Perl.
Automated software testing can increase the depth and scope of tests to help improve software quality. Lengthy tests that are often avoided during manual testing can be run unattended. They can even be run on multiple computers with different configurations. Automated software testing can look inside an application and see memory contents, data tables, file contents, and internal program states to determine if the product is behaving as expected. Test automation can easily execute thousands of different complex test cases during every test run providing coverage that is impossible with manual tests.
See below for a list of popular unit testing frameworks and tools for major platforms and programming languages. These frameworks can be used by programmers to test specific functionality in libraries and applications. Unit tests can then be used to automatically test new versions and builds as part of an automated build system or deployment process.
Robust GUI test automation begins with the reliable object identification provided by Ranorex Spy. This tool can be used alone or from within the Ranorex Studio environment to deliver industry-leading recognition of GUI objects and controls, and ensure that each user interface element is uniquely identified using the powerful RanoreXPath syntax. Information on identified objects can be shared with team members through snapshot files, or stored in the Ranorex object repository for use in automated tests. The object repository in Ranorex Studio manages identified UI objects, so that they are editable and re-usable across testing projects. Features of the repository include the ability to assign meaningful names to repository objects to make them more maintainable, set default values, or link objects to parameter values. Ranorex Studio tools support best practices in automated test case design, including separation of test data from procedures, use of local and global parameters to pass values, and easily reusable code modules that can be shared by the entire team.