Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Agile has changed the way we approach development and testing. At least it should. Release cycles are shorter, requirements change rapidly and quality standards are higher than theyâve ever been. To have the slightest chance at scoring a medal in the agile testing games, weâve got to understand the rules of the game and get the right tools. So letâs get at it together.
I am trying to break down the requirements agile testing should meet on five basic principles. Based on these, I’ll show you the benefits weâve experienced ourselves when using Ranorex for agile testing and how your team will also benefit from using Ranorex for agile test automation.Fast feedback
Best case scenario: You test the full range of functionality for every single code change. When performing continuous testing, itâs essential that the whole development team gets immediate feedback on the executed tests. Therefore, an easy to access and easy to read reporting mechanism is indispensable. This is where our test reports step in. You can fully integrate the lightweight test executables of our test suites into any continuous integration systems and share the resulting easily understandable report files with the whole team to ensure a high level of transparency. Not fast enough? You can also get live feedback during test execution: Simply open the test report while the test still runs to see if any test cases have failed so far. The earlier you know, the faster you can react.
High level of automation
Fact is that manual testing is slow, labor intensive, inconsistent and buggy. If you want to rapidly respond to changing requirements and constant code changes, a high-level of automation is absolutely essential. Next to basic unit tests, acceptance tests and integration tests are highly important to test the full range of functionality. To reduce time and increase quality, test automation has to be an integral part of the project from the beginning. You can use Ranorex Studio to automate your entire range of UI tests.
Sometimes, it make sense to create a simple throwaway test, which is used only in one specific sprint. In these cases, thereâs neither time nor resources for a big setup. Using Ranorex Studio, you can easily automate such tests and integrate them in your existing test environment. The lightweight test automation projects of Ranorex result in executable files, which you can directly trigger from command line. The executable files inform you if the test has failed or succeeded. In addition a report file can provide detailed information about the test run. Perfect conditions to integrate into any continuous integration process.
Termination of testing roles
In an agile software development process, the whole team is responsible for quality. The borders between the traditional understanding of testers and developers blur. So, typical testers should be able to write unit tests or simple integration tests. In contrast, developers should also record UI tests. Using the broad set of tools ideal for all skill sets, you can set ideal conditions for developers and testers to work together on projects. Pick and choose â itâs up to you: Easily create script-free automated tests using the Ranorex Recorder, or quickly create and edit tests entirely in C# or VB.Net.
Termination of testing phase
Finally in agile iteration cycles, thereâs typically no time for a sequential processing of all testing levels (unit tests, integration tests, system tests, acceptance testsâŠ). Therefore test automation has to be an integral part of the project from the beginning. As Ranorex Studio does not rely on dependencies, you can create test scenarios at any time. As soon as you know how the UI will look like, you can implement an automated test and refine the detailed paths of the repository elements as you go along.
As a result weâve seen, agile testing is based on a high level of test automation. To set the ideal conditions for your team, make sure to get a tool, or a set of tools, that enable you to directly integrate automated testing in your continuous delivery pipeline, ensure a high level of transparency and enable collaboration within your team.
The post 5 Principles of Agile Testing & How Ranorex Fits In appeared first on Ranorex Blog.
Itâs all about that team, âbout that team, not individualâŠ. With apologies to Meghan Trainor (Itâs All About That Bass), that team is what everyone is talking about when it comes to effective agile software development and DevOps. More and more companies are realizing that having the developers, the product owner, and the testers all working together at the beginning of a development cycle pays dividends.A Different Approach
This is especially important in a shift-left mentality where testing is done early and often. Everyone on the team shares an understanding of the requirements. Everyone understands the tests that are needed. And there is a consensus about whether a feature was specified sufficiently. The result is that there are efficiencies in development. Development interruptions are eliminated. Delays, lost effort, lack of velocity and timely feedback, and unwarranted assumptions that give us results we donât want become a thing of the past.
Wait a minute! How is that approach different from the way software was developed in the past? There was a team. It had developers who provided the technical solutions and fixed defects. It had product owners who provided the requirements. And it had testers who made sure that everything worked.
Thatâs true. But they didnât always work together efficiently. Sure, developers could get their questions answered by engaging the product owner directly. When it was time for testing, the testers could get information they needed from the developers and/or product owner. However, many times, choices or decisions were made with only two parts of the project team, usually between just the developers and the product owner. The testers found themselves on the outside looking in. Inefficiency, reworking and missed deadlines were built in. Not much of a team.Donât Forget the Testers
To have an effective team, ALL parties âÂ the three Amigos: developer, product owner AND tester â must be invited to contribute from the beginning. Why? Because each brings with them their own, many times different, viewpoints on almost anything youâre planning to build. The product owner thinks about what the business hopes to accomplish by building it. The developer is concerned about the details needed to implement it, e.g. what information is needed when and which technologies are needed to accomplish the goals. The tester thinks about what might go wrong, either within the system under test or in the external context upon which it depends. Sometimes these three viewpoints are enough, but sometimes others are also needed. The big change here, though, is inviting the testers.
Yes, it all starts by empowering testers and instilling a âwhole teamâ view of quality. Including testers early on in the development process is quite a change from the approach that many companies took (and some that still do) when it came to testing and testers: âWhen the developers are done, weâll let you in on what they were doing and let you test. And donât miss anything!âThe Psychology of the Tester
Okay, so itâs really important to include testers early on. What do they bring to the table? Iâve been asked that question many times. Part of it is the way that their brain is wired. They are naturally curious, naturally analytical, and critical thinkers. It also helps to have a thick skin.
Thatâs all nice, but how can somebody with all those personality traits influence a project? Testers can work closely with both developers and business representatives to ensure that the desired quality levels are achieved. They can use those traits when supporting and collaborating with business representatives to help them create suitable acceptance tests, defining what done is, working with developers to agree on the testing strategy, and deciding on test automation approaches. Testers can thus transfer and extend testing knowledge to other team members, thereby influencing the development of the product. Everybody benefits.
If youâre considering making the change to the whole-team view in agile product development, donât worry about the testers. Theyâre a tough bunch. In almost all cases, over time the old-style attitude that testers should just be along for the ride fades. The rest of the team eventually develops a newfound respect for testers. One that helps to foster growth, efficiency, and effectiveness, and along the way enhance the projectâs and teamâs â thereâs that word again â chances for success and your ability to deliver value to your customers.
The post Complete the Team: Why You Need to Empower Testers appeared first on Ranorex Blog.
How many hours a day do you spend making sure that your website looks and works as expected? Fact is that a website or web application is a determining factor for your online success, and its quality is defined by its functionality across all browsers and operating systems. But web testing can be a challenging task, and itâs easy to make mistakes.
We wanted to create a product that simplifies the way web testing is done, while at the same time making it more efficient. We are incrediblyÂ proud to finally announce the release of Ranorex Online beta! Compared to Ranorex Studio, this new web testing service focuses on the essentials of automated web testing, and provides the fastest and easiest way to improve the quality of your web presence in real browsers.
You can instantly start testing with Ranorex Online. This is the only web testing service that doesnât require an extension or plug-in. Simply register for a free account on our Ranorex Online website to immediately test your website in real browsers. No matter where you are. No matter which operating system or desktop browser you use. The icing on the cake: itâs free-to-use.As easy as surfing the web
Test your website the way your users will experience it. You donât even have to code. The intuitive recorder makes website testing a blast and youâll get instant feedback. Go to ranorex.io and enter the URL of the website you want to test to instantly move to recording mode. Click around, hover over elements, select items, fill out forms or walk through the entire online check-out process. Every action is immediately recorded. Curious how it works? Check out the examples on our website!Prepare your website for success
Free up hours of your day! We all know that the only way to make sure that your website always works and looks as expected is to test it in all possible environments. Ranorex Online offers an easy way to automate web testing. You have recorded a workflow on your website in Safari on macOS? Simply use the Play-Link of the recording to replay it across popular desktop browsers and operating systems. Chrome, Firefox, Edge, IE and Safari â now you can test it all with just one recording. Itâs time to take the fast and easy route to improved website quality!Make website testing a team effort
Capturing errors in all detail is difficult and reproducing them even more so. Now you can keep team members in sync and give feedback the way it is really needed. You want to show your colleague a problem you have found in your web application? Simply record it and share the Play-Link of the recording, even if she doesnât have a Ranorex Online account.
Ranorex Online is a software as a service. Based on your feedback, weâre constantly adding new features and functionalities, to make your testing experience even smoother and more efficient. We canât wait to see what you think of it!
Do you want to transitionÂ from waterfall to agile? Like so many other companies, you may also seek to replace waterfall with agile in a quest to shorten the time-to-market and deliver high-quality software faster, more frequently and at a lower cost. The road to agile, however, can be a rocky one.Â Thatâs why we have put together a few lessonsÂ and tips that will help you in succeeding inÂ agile software development.#Â 1: Embrace theÂ change in mindset and culture.
More than anything, agile requires a change in mindset and culture throughout the entire company. The key to success is that everyone involved knows what to expect, is patient and, most importantly, embraces change. Agile is about adjusting. Itâs about continuously assessing if requirements and goals are still valid. This new learning culture isÂ a big challenge.#Â 2: Make the transition to agile a joint company process.
You wonât be able to reap the rewards of agile without engaging both the management and the team. If not everyone involved is committed and participates effectively, youâll unavoidably run into problems. That’s why you have to make sure that the transition to agile is a joint activity. Communication, effective contribution by everyone involved and continuous planning is required to get all interest groups on board, and avoid tension between how the teams operate and how management runs the company.# 3: Roles and responsibilities change throughout the company.
Undoubtedly, the shift to agile affects roles and responsibilities within a company. AÂ top-down command-and-control culture should be replaced with horizontal conversations. Management helps to remove impediments, encourages teams and ensures the business alignment of projects. It has become a facilitator and is in charge of creating an environment in which teams can grow. The team itself is a group of experts, who know best themselves what should be done by who and how. They are self-organizing and self-reliant.#Â 4: Encourage transparency and exchange between teams.
In an agile environment, small teams that communicate and work together efficiently are important. Consequently, transparency is key to success. Be open about failures, discuss impediments and work on a solution together. This will create unity in the team and build towards a better product. At the same time, you need to encourage exchange between those highly productive units so as to avoid isolation of individual teams.#Â 5: Agile is not a linear process.
In waterfall projects, teams were used to working in a sequential manner: requirements, design, implementation, then testing and maintenance. Everything was strictly planned and scheduled. In contrast, software is developed and delivered in small chunks in agile. To ensure it meets actual market needs, the software is continuously adjusted according to changing requirements as well as to feedback from customers and stakeholders. Business managers, developers and testers have to work together closely and stay in sync to evaluate the situation and determine the right next steps.#Â 6: The team is responsible for quality.
The teamÂ needs to collaborate right from the beginning: when it comes to defining requirements, the scope of projects and what is needed to assure the quality of the software. As software quality is a continuous process that requires commitment from everyone involved, the whole team is in charge of testing.#Â 7: Test early and often.
As software is developed incrementally, code is constantly changing. Every time you check in new code, you have to ensure that it meets its requirements and does not break existing functionality. The frequency of code commitment requires fast feedback from tests that can only be achieved with automation. When you integrate tests into your continuous integration process, each code change is automatically tested. The goal is a near real-time feedback, which helps you in reacting to potential errors as soon as possible.#Â 8: Automation is a necessity, not a necessary evil in agile software development.
Agile software development will not succeed without test automation. Manual testing is slow, labor intensive, inconsistent and prone to errors. If you want to reduce the time-to market and release small increments of software in frequent iterations, agile test automation has to be an integral part of the project from the beginning. Well-designed automated tests are faster, provide continuous feedback on software quality, increase risk-coverage and will give you confidence in your application.#Â 9: Early feedback from automated tests is important.
The earlier you find bugs in your software, the easier and cheaper they are to fix. The key is to understand what to automate and when, in order to get quality feedback from your automated tests. If you want to get early feedback on the quality of your code, you need to shift testing left and perform more automated testing on a unit and mid-tier level. The iterative feedback increases transparency and enables you to react to potential problems faster, decreasing the risk of release delays and software failure.# 10: Test automation tools have to enable team collaboration.
In agile software development, itâs all about continuous testing and team collaborationÂ on agile test automation projects. When you choose a test automation tool for your team, make sure that it fosters this collaborative dynamic in cross-functional teams, enables you to start with test automation early in the development cycle, supportsÂ reusability of tests and encourages communication and feedback. Always keep in mind that after all, your team is one of your greatest assets.
Weâre excited to announce that Ranorex 6.2 is ready for you to download! In this release, weâve focused on providing you with an advanced technology support for desktop and mobile applications as well as on making it easier for teams with mixed skills to collaborate on test automation projects.Advanced Technology Support
Weâve made the support of innovative technologies a priority and now enable testing of Chromium-based frameworks in desktop apps and WKWebView objects in iOS apps.Chromium Embedded Framework (CEF) support
CEF is one of the most frequently used frameworks for embedding web content in desktop applications. Next to Googleâs native CEF implementation, we now also support testing of these Chromium-based frameworks:
The WKWebView class enables you to embed interactive web content in your iOS mobile applications. Using Ranorex 6.2, you can now test your embedded WKWebView objects.User Code Library
Sometimes, you need to add further functionality to your tests with user code. We understand that in a team with mixed skills, not everyone wants to code. Thatâs why weâve introduced the user code library with Ranorex 6.2. It gives you direct access to the user code methods your colleagues have previously created in a test automation solution, so you can add additional functionality to your tests without writing a single line of code.A quick overview of the workflow:
If youâre a developer or tester with programming skills, you can start by filling the user code library with user code methods. You can logically organize methods that relate to a specific workflow or application area. A tip: Add a description to each method. This makes it easier for your colleagues to find the right user code methodÂ .
As a tester in your team, you can directly access the library fromÂ the action table and select a method from there to use it as an action. This way, you can add further functionality to your tests without having to dip into code!
We hope you have as much fun using this update as weâve had creating it!
Our Ranorex-NeoLoad webinar was a great success and we were delighted to see how many of you are interested in the Ranorex-NeoLoad integration. In this webinar, we’ve showed you in detail why it makes sense to combine automated functional and load tests, how you can set up the Ranorex-NeoLoad integration, and what you can do with it.Â For those of you who’ve missed the webinar, we’ve recorded it and you can view it anytime here: Ranorex-NeoLoad webinar.
Thank you again for all the questions you’ve asked during this webinar. As there wasn’t enough time to answer all questions during the webinar, we’ve taken this opportunity to answer a few of them, that we believe are interesting to all of you, here:Q1: Can I test my desktop app, which is connected to a server, with NeoLoad and Ranorex?
Yes, thatâs possible. If the communication is based on the HTTP protocol, the NeoLoad recorder captures the traffic utilizing the HTTP transport layer. If the communication is not based on HTTP, you can use custom actions. Ranorex is then able to determine performance values of the desktop app and transmit these values back to NeoLoad.Q2: I have already created Ranorex web tests. Can I transform functional test sequences from these tests into NeoLoad load tests?
Yes. Simply start a NeoLoad recording manually, and then start the Ranorex test. NeoLoad will record all steps that are being carried out by Ranorex, so that the Ranorex test sequence is available in NeoLoad. You can now put a load on your server with NeoLoad and see if your functional test sequence is still successful when under stress.Q3: Where should IÂ install Ranorex and NeoLoad? Can everything run on the same machine or should we use separate systems?
In theory, you can install the NeoLoad controller on the same machine as Ranorex is installed on, but that’sÂ not recommended. Load generation can cause a high CPU usage and the controller needs a lot of memory. Thatâs why it makes sense to install both the NeoLoad controller as well as the load generator on a different machine than Ranorex is installed on. The modules, which are included in the Ranorex-NeoLoad Â NuGet package, enable communication between Ranorex and Neoload regardless of where Ranorex and Neoload are installed. However, if NeoLoad triggers a Ranorex test, a NeoLoad load generator must be installed on the same machine as the Ranorex test runs on.Q4: Are virtual users in NeoLoad carrying out the same actions as the Ranorex automated test?
This completely depends on your setup. The âtest sequencesâ are not linked together in any way. Youâre free to set up the same sequence or use a different one.Q5: When should I start my Ranorex test with NeoLoad, and when does it make sense to start my NeoLoad test with Ranorex?
If you run a functional test session and want to make sureÂ that individual functional test sequences still succeed when the system is under load, it makes sense to trigger and control the NeoLoad tests from Ranorex. The other way round, if youâre running load testing scenarios and want to know if key functional uses cases still work, it makes more sense to trigger the respective Ranorex tests from NeoLoad.Q6: Is there a limit on virtual users, which Ranorex can add to a NeoLoad test?
The number of virtual users is not limited by Ranorex in any way. You can add as many users as your NeoLoad license provides.Q7: Do we need a Ranorex Runtime License for each virtual user in NeoLoad?
No. You can add as many users as provided in your NeoLoad license with a single Ranorex Runtime License. The Ranorex license does not influence the NeoLoad license in any way and vice versa.Q8: Is there a free version of Ranorex and NeoLoad so I can try the integration?
You could also run multiple Ranorex tests in parallel on multiple virtual machines. However, Ranorex is only able to run a single test per machine, as it is a functional test automation tool that automates real mouse and keyboard events. Thatâs why it makes sense to use NeoLoad to create load.Q10: What are the system requirements for Ranorex and NeoLoad to enableÂ this integration?
Yes, thatâs no problem at all. Ranorex creates standalone executable files, which carry out the test. These files have to get triggered by the CI system. You can find instructionsÂ on how to integrate Ranorex tests in your CI system in our blog “Integrate Automated Testing into Any Continuous Integration Process“. NeoLoad also offers command line execution of load tests. You simply have to start the âNeoLoadCmd.exeâ file, as described in detail on this page.Further Resources:
A moment of sudden insight. An idea for a feature so amazing, itâd transform your testing task with Ranorex into a moment of enjoyable, reliable, automated testing bliss and save you a good few hours of work. As youâre not part of the Ranorex crew and simply wonât get to code this feature into our software yourself, your incredible idea will go to waste. At best, itâd make for a great morning coffee conversation with your colleague.
What if we told you that we found a place where ideas count, and counts turn into actual features on our product roadmap? At Ranorex, we refer to this magical place as Ranorex User Voice. Using this platform, you can be part of our journey to creating the best test automation software. After all, we share the same goal: Align Ranorex to your actual automated testing needs.Ranorex User Voice â the right place for your ideas on Ranorex
We believe in providing a space where your ideas count. Let us know how we can make your test automation experience with Ranorex even better. Now, you can directly interact with our product management on the Ranorex User Voice platformÂ by
They certainly do. We greatly appreciate your feedback. The more you contribute on this platform by submitting feature requests and voting for ideas, the more likely it is that your idea will make it on our product roadmap.
Weâre looking forward to reading your feature requests soon!