Software Testing
Blog
Stay up to date on all topics related to software testing, agile methods, cybersecurity and much more thanks to our experts. They regularly share articles on current trends and challenges.
- Automation
- Test cases
- Performance
- Cybersecurity
- Software Testing
- Inspirations & Tips
- Interview
- Tools
Companies often decide to migrate their systems for several strategic reasons, including the need to modernize their IT infrastructure. Over time, older systems can become obsolete, making them harder to maintain, integrate, and scale. Migration to new platforms often enables businesses to leverage advanced features, such as AI and improved user interfaces, that boost productivity and support better decision-making.
Being agile or working agile is not something that is exclusive to a specific area or a specific industry. It is an approach about wanting to see a better end result, to be willing, and interested in, to improve and change to create the greatest possible benefit. Or as John Steinbeck once said, “to think differently today than yesterday separates the wise from the stubborn”, regardless of whether you work in IT or not.
The field of information technology, especially within the realm of agile development, is undergoing rapid evolution. To keep up with this dynamic pace, emerging technologies like Artificial Intelligence (AI) are proving to be invaluable allies, not only accelerating progress but also providing essential support during this era of rapid transformation.
Risk-based testing is a method that prioritizes the testing of software functions based on the risk of their failure and the impact of such failure on the user or system. By focusing on the riskiest areas, limited resources and time can be used efficiently. In this post we share some common ways to conduct risk-based testing and some useful templates you can download.
Finding the perfect test automation tool for your software is not an easy task. We need to, first, accept that every software is unique and has its own way of being delivered. The kind of automation tools that are needed to adapt to the software testing life cycle highly depends on its resources, team, and strategy. So, there is no such thing as the best test automation tool.
In recent years, the emergence of low-code and no-code platforms has significantly transformed application development processes, democratizing access to development and addressing the demand for rapid delivery. This article explores the impact of these platforms on test automation.
The landscape of test automation is rich with a variety of tools and technologies, each designed to address specific testing needs. Understanding these tools and their capabilities is crucial for effectively automating testing processes in software development.
Test automation, when executed correctly, can be a game-changer for product development. However, it’s crucial to be aware of and avoid common pitfalls to fully realize its potential.
Agile – a concept that is often misunderstood. The most common misconception is that agile is about a certain type of work method that many people think you can introduce and then claim you are working agile. Unfortunately, the truth is far from that. Agile is more of a culture and mindset to achieve certain goals and has very little to do with a specific working method. This is also why there are so many different methods that are classified as agile. There can be a great of difference between these methods, but they have a common denominator – they promote or create conditions to reach the agile objectives.
When we write automated tests, we want to add maximum value with least possible cost or time. The total number of test cases to verify that a large modern complex system is without errors is almost infinite. “Everything” cannot be automated. In this post we take a closer look at what cannot/should not be automated and why.
In an article published a few weeks ago, we talked about the human challenges faced by testers. The job of a tester is not only a human one, but there are also many challenges linked to the technical aspects of testing. This article presents some of the technical challenges we see most frequently.
I wrote an article in September 2020 about scriptless automation tools. In it, I wrote about tools with 2 distinct purposes:Be accessible to anyoneThis means that these tools are designed to be used and mastered by anyone working in IT, even people with little or no technical knowledge. We can think of business profiles or testers who don’t know the code but are very competent in their ability to design tests. The tools based on this objective have generally done a lot of work on ergonomics, displaying the tests but also selecting the identifiers with capture tools that are often visual and hide the technical part.
You can never test everything, therefore you need to think about what business risks exist in your development project. With this as a starting point, you can plan the order in which you will test, how you will minimize the risks around tests and how the tests will be prioritized, so that you test the most critical first. Your test strategy will then have the same business priority that governs the entire development project. In this blog post, I describe how you should think when it comes to risk-based testing.
In the intricate world of software testing, where the ultimate goal is to ensure the quality and reliability of an application, two essential components stand out: test scenarios and test cases. They are fundamental to the testing process, allowing testers to systematically verify that the software meets desired standards and performs as expected. However, despite their critical role, confusion often arises between these two pillars of testing documentation. In this article, we’ll delve into the nuances of test cases and test scenarios, exploring their definitions, purposes, and differences.
Low code and No code testing are methods to automate tests with minimal or no coding at all. This is a clear departure from the previous practice of working closely with the code, using ones and zeros, to now using more natural language and graphical interfaces to perform automated tasks. This methodology aims to simplify and accelerate the testing process by making it accessible to people with various levels of technical knowledge, including those who do not have deep programming skills.
Acquiring more Agile skills optimizes project flexibility and efficiency, enabling better adaptation to rapid market changes. What’s more, mastering Agile principles facilitates collaboration, communication and productivity within teams.
Being a consultant often means jumping from one assignment to another without a break. It offers excitement and challenges and to constantly develop to avoid getting stuck in routines and old habits, but also to be self-aware to avoid burnout. Therefore, it can be a really good idea to use the time between assignments to reflect, but above all take the opportunity to learn new things. So, in this article I thought I’d share how I, as a senior IT consultant in test and quality assurance, have used the time between assignments to improve my knowledge and skills and stay motivated. I will also give you some tips on how to make the most of your “free” time as a consultant.
Being a test leader remotely presents various challenges. For instance, you may need to manage cultural differences and establish a conducive environment for collaboration and trust. Today, as more companies and organizations work with outsourced teams and/or operate remotely due to the ongoing COVID-19 pandemic, it may lead you, as a test leader, to ponder on how best to work with your team. Building trust within the team from the outset increases your chances of having a more successful team. Here, I share my top 3 tips for creating that strong and crucial trust.
Embarking on the journey of test automation requires careful planning and preparation. Before diving into scripting and tool selection, it’s crucial to lay a solid foundation. This involves understanding the prerequisites and making necessary preparations to ensure a smooth transition to automated testing.
Every system is unique and has its own set of conditions. Whether it’s a system with its own adjustments, third-party development, or fully in-house development, each demands a tailored approach to test automation. This customization is essential for addressing the specific needs of complex, regulated, or legacy systems. Effective test automation transcends the mere execution of scripts; it necessitates a strategic approach integrated into the software development lifecycle. This not only optimizes testing efficiency but also significantly enhances the overall quality of the software.
Most changes are generally difficult to manage, but succeeding with agile transformations has proven to be a major challenge for most organizations and teams. One of the reasons is that agile transformations often cause changes in the organization, in the working methods and in the culture at the same time! Which requires a lot from all individuals as they are affected while also making the change. This increases the risk of failing, and changes done the wrong way make people confused, frustrated and disengaged. To make the work easier, here are some of the most common pitfalls we see people falling with, and which we recommend avoiding.
Artificial intelligence (AI) has changed and will continue to change QA, which means that we as testers need to be ready. AI-powered testing tools will automate repetitive tasks, predict problems, and improve efficiency and accuracy. It creates more time for creative tasks, but at the same time, it places new demands on the tester. Those who have the ability to work with systems based on AI and benefit from testing with AI will be in demand. Test automation in the future is not about putting testers against AI, but rather how to test using AI. Here are some ways testers can benefit from AI in their work.
Marc Hage Chahine answers our questions The year 2023 has been marked by technological advances and paradigm shifts that have redefined conventional approaches to testing. The adoption of artificial intelligence by some companies has helped optimize their test campaigns, increasing efficiency and test coverage. At the same time, automation has seen strong adoption, significantly accelerating production cycles. Accessibility issues have taken center stage, prompting test professionals to integrate practices that ensure applications are usable by all.
BDD (Behaviour Driven Development) is a practice popularized by Dan North in 2003, and derived from TDD (Test Driven Development), to which it is complementary.
During recent years in development, the ability to deliver rapidly has increased, which brings greater attention to test automation. Questioning the product has never been more important as it enables the possibility to figure out what could go wrong already at an early stage and to come up with the solutions to solve the problems that may potentially arise. Although it has become a recommended practice to automate tests, the fact remains that manual tests are, in many cases, preferred over automated tests. In this blog post, let’s take a closer look at some of the greatest benefits of test automation.
Have you ever come to work and felt like it was going to be a good day and be very productive? Or on the other hand, knew that it was bad day on every fronts? Then your work might have been affected by these emotions. And so that your coworkers knows it, an indicator linked to team satisfaction, very well adapted to agile indicator the calendar “Niko Niko” was gradually introduced.
In today’s fast-paced development environment, companies face demands for efficiency, speed, and high quality to stay competitive. Software development often occurs incrementally, making it unsustainable to manually test each iteration before release. Test automation has become crucial to address these challenges. If you’re interested in the implementation of test automation but find yourself uncertain about where to start, this article is tailored for you. We delve into the essence of test automation, address crucial considerations, and provide insights into the tools that can streamline the process.
The job of a tester is a technical one, requiring special skills. It therefore seems obvious that testers are faced with challenges linked to the technical nature of testing or certain activities. However, like any other job, testing is not limited to purely technical matters! This is all the more true in testing, where testers are required to communicate on notions of quality, risk management and trust with a wide range of people from different backgrounds. In this article, we present some of the human challenges that testers frequently encounter.
This article is a continuation of the article with the same name from issue 15 of Quality Matters. Since 2020, major software testing vendors have taken the no-scripting turn by using the power of AI. We can see the tools of these editors (at least for Eggplant and UFT One) as the “2nd generation” of no-script automation tools because they push even further the concept of “being able to automate all technologies with the same tool” by offering a single test capable of running on different environments such as a computer (different browsers) and a phone (Apple or Android). This shift explains why we are currently seeing the appearance of tools such as Tosca (Tricentis) or UFT One (Micro Focus). Marc Hage Chahine
In this post we’re addressing some of the most common questions we get about IT security. From understanding the importance of incorporating security measures during requirement management to staying up-to-date on the latest security trends. We’ll also explore the critical role security plays in the development process and offer insights into securing older systems and implementing continuous internal controls.
10 essential measures to strengthen your IT defenses In the world of ever-expanding digital horizons, security is not just a nice-to-have feature; it’s an absolute necessity. With cyber-attacks lurking everywhere, protecting your IT infrastructure requires strict security protocols. So, fasten your seatbelts as we take you on a joyride and explore 10 vital IT security procedures and tasks that you should adopt. Among the various security frameworks available, we’ll focus on the core functions of the National Institute of Standards and Technology (NIST) Framework: Identify, Protect, Detect, Respond, and Recover. Let’s dive in and uncover 10 essential measures to strengthen your IT defenses.
Choosing the right tool for performance testing is crucial for several reasons: First of all, it must be able to carry out performance tests on the installed software base you wish to test, and therefore, offer adequate protocol coverage. Not all tools can test Citrix, SAP or Oracle Forms, for example. It also has to match the customer’s organization and way of working.
Most of the products you buy are aimed towards network and endpoint security. These will not be very effective against web application vulnerabilities. So, in this post, we shed light on the most common issues we see in our work, from weak network to user enumeration. Understanding these challenges is not only essential for IT professionals, but also for individuals and organizations striving to enhance their security posture in an increasingly interconnected world.
Over time, some software loses quality due to lack of updates, lack of support and changing user needs. To better understand this phenomenon, we offer 3 short articles on the subject.
There are different types of methodologies and standards used in the IT world to create a baseline for secure operating practices. This not only involves IT infrastructure and software, but also the humans involved. In our daily work, we stumble upon tests where our clients lack secure routines in patch management, coding, testing and pure lack of understanding of the potential risks that are possible. It is our job to help them. To educate them where and when they need it. We, as security professionals, need to care about security ourselves, so they in turn will know that we care about theirs.
In today’s digital world, it is increasingly important to ensure that your company’s aggregated information cannot be found and taken by others. Therefore, you should continuously work for better security by running tests to find out if there are vulnerabilities. We know information security can be tricky so in this article I will explain the difference between vulnerability scanning and penetration testing. I hope it gives you a better understanding of the tests and their importance to your business.
It is becoming increasingly common to use SaaS solutions (software as a service), mainly because it is cost-effective, easy to use as operation and maintenance is handled by the supplier and can have high security because things can go wrong if you’re not careful and assure safety before purchase. Too many people buy a SaaS solution with the same attitude as when buying a car, they expect the person who built the car has ensured that it is safe and sound.
Test automation means saving time, not only for the first execution but mostly for the next ones. Although technical expertise is an asset in this field, it’s certainly not the major asset, since beyond languages and technologies, notions of design, coverage, readability and maintainability will distinguish good scripts from useless ones. In the course of my experience, I’ve noted the following points about automation that I feel need to be checked:
In step with digitization, it is becoming increasingly important that you have your information in a secure and controlled environment so that no unauthorized person can access it. This probably means that you need to familiarize yourself with the area of security and what measures you must take to avoid intrusions. When you do, you will surely become familiar with a lot of new words and abbreviations that are not entirely easy to understand. Therefore, we have produced a glossary of the most common and perhaps most complicated of them. We hope it will help you understand the concepts and their meaning.
When we talk about security one of the things that is often overlooked or not fully calculated is the actual risk. What actual risk you have as a company? What is it that is of value to you? What is it that you do not want to have leaked, exposed, or stolen? This is, in most cases, some sort of information. Information is the most valuable commodity we have. And since it has value, there is always a certain amount of risk associated with it.
I need to test a software, which tool should I choose? Effective management of software testing requires the use of specialized tools to ensure high-quality results. These tools facilitate various activities such as organizing software requirements, maintaining a test directory, executing test campaigns, managing bugs, establishing links between related elements, and generating reports. However, with several options available, choosing the right tool can be challenging.
Time to meet another QESTIT member! April 25th, 2023 | Interview with Ergin
Something that is often talked about, perhaps above all linked to test automation, is unit and integration tests. But what do these tests mean in practice and how are they used? You’ll find out in this blog post!
Life is unpredictable and sometimes our career path as well. We see it with our own employees at QESTIT – some have begun their career in a completely different field and transitioned into becoming amazing software testing experts. We strongly believe that it is never to late to start something new, and we have many such examples!
There are several reasons for writing automated tests and writing them may seem relatively easy. However, writing “good” automated tests is significantly harder, and requires extensive experience and conscious training. In this post, I’ve gathered some (high-level) targets that need to be checked in order for the automated tests to become good. The targets are defined in twelve characteristics and when they are fulfilled the definition of “good” automated tests is achieved.