In: Computer Science
can you give me a brief description of your experience related to each of these bullets?
Automation testing allows us to test multilingual sites quickly and also increases the test execution speed. When creating a Test Automation Framework, we should consider the following :
Selenium is one of the open source tools that provides all the benefits of an open source tool in terms of application testing. Selenium is a suite of Selenium tools used for testing. It contains Selenium IDE, Selenium RC, Selenium Webdriver, and Selenium Grid. It is used for automating web interactions and regression testing. It has recording and playback features. Further, we can export the scripts that are recorded to other languages including Java, C#, Python, Ruby, Javascript, and PHP. Selenium is basically used to automate the testing across various web browsers. It supports various browsers like Chrome, Mozilla, Firefox, Safari, and IE, and we can easily automate browser testing across these browsers using Selenium WebDriver. Selenium can be used to develop a custom test automation framework for cross-platform application testing for the web, and mobile applications. Using Selenium WebDriver as the engine, we can implement custom solutions to function with various lifecycle tools to ensure seamless integration.
The key features of Selenium test automation framework are:
Professional test automation software is used to produce high-quality, robust and reliable software with the ever-growing complexity of technology and under massive competitive pressure. Automated software testing is a cost-effective solution to this problem. It provides three business benefits:
Mobile application development is meant to be agile, and a lot of great tools and practices have been developed for that agility. However, doing something manually — such as testing an app — is never agile, which is why test automation has shown tremendous growth among app and game developers, speeding up their doings and yielding robust and better results. To achieve compatibility between users, devices and the market, including test automation as a part of the agile development process is typical. Fortunately, a lot of tools are available, and test automation is a perfect fit for this process. Test automation offers a significant value-add by enabling testing to be done in parallel. Fixing an issue earlier will save a lot of time and get developers to finalize the product sooner; most importantly, it is used for better quality, with fewer bugs. Test automation offers the possibility to test mobile apps instantly and effectively. Once tests have been automated, they can be executed quickly and repeatedly, again and again. In almost all cases, this is the most cost-effective method for regression testing of software products that have a long maintenance life. In fact, test automation of any mobile app is the best way to increase the effectiveness, efficiency and coverage of the testing process. The true benefit of automation comes not only from the repetition of tests, but also from the ability to execute tests that probably could not even be performed manually. In general, there are three ways to automate the testing of mobile apps. These are - Handwritten test scripts, record-playback approach and automatic test exercisers.
Appium is a mobile test automation framework for native, hybrid and mobile-web apps for iOS and Android. It uses JSONWireProtocol internally to interact with iOS and Android apps using Selenium’s WebDriver. Appium starts tests on the device and listens for commands from the main Appium server. It is almost the same as the Selenium server that gets HTTP requests from Selenium client libraries. Appium is a very good choice for both apps and games because, in many cases, apps and games tend to be identical on both platforms, Android and iOS — and so the same test script can be applied to both. Another significant benefit of Appium is that users can write tests using their favorite development tools, environment and programming language, such as Java, Objective-C, JavaScript, PHP, Ruby, Python or C#, among many others. Appium enables users to execute tests on mobile devices regardless of OS.
A test plan is a detailed document that outlines the test strategy, Testing objectives, resources (manpower, software, hardware) required for testing, test schedule, Test Estimation and test deliverables. The test plan serves as a blueprint to conduct software testing activities as a defined process which is minutely monitored and controlled by the test manager. To create a Test plan the following steps needs to be maintained –
Advantages of Test plan are as follows –
API is an acronym for Application Programming Interface. It enables communication and data exchange between two separate software systems. A software system implementing an API contains functions/sub-routines which can be executed by another software system. API Testing is entirely different from GUI Testing and mainly concentrates on the business logic layer of the software architecture. Extensible Markup Language (XML) used to be the only choice for open data interchange. However, developments in open data sharing have introduced more options for developers, each with their own set of benefits. While XML may be a widespread method for API integration, that doesn't mean it's the best choice for a project now a days. JavaScript Object Notation (JSON) is one alternative that's attracting a lot of attention now. JSON is lightweight compared to other open data interchange options. JSON has many more advantages compared to XML -
We can conclude as in comparison to an XML model, a JSON dasta structure is intuitive, making it easy to read and map directly to domain objects in any programming language.