A Typical Day of a Tester in an Agile Pod : Guest Blog

I am glad to share that a guest post I wrote for The Test Tribe website has now been published.

I was approached by the team to contribute to their valuable and rich content library where they publish articles, how to’s, insights on testing topics, case studies and upskilling posts for their vast testing community.

I wrote about the life of a tester in an Agile Pod and how it might be different from a traditional tester. We follow a typical day of Ted, our protagonist who is a tester in an agile pod team. We see how he spends his day working with his developers, product owner and other stakeholders along with balancing his duties as a pod leader. Read the article here to follow along on his exciting journey–>

I am happy to be associated with The Test Tribe community and the great work they are doing!

Grateful for this opportunity and always looking ahead for more! šŸ™‚

Cheers

Nishi

Tips and Tricks to Master API Testing in Postman

Modern software development relies on successful software testing services sessions. Postman is currently the best tool for challenging requests. It accomplishes your work involving primary APIs in diverse environments. A well-versed developer can undertake test automation and scripts with monitors. Organised and scheduled tests with team collaboration also can be conducted. They are critical for the efficiency, reliability, and overall effectiveness of this practical tool.

In the context of the increasingly interconnected global landscape, APIs have emerged as a crucial component in contemporary software growth practices. Consequently, API test has emerged as an essential element within the software development life cycle. Postman is widely recognized as a prominent means for API testing, owing to its considerable popularity and apparent advantages. This robust tool empowers developers to efficiently develop, and verify the (APIs). 

By offering a straightforward interface as well as a comprehensive set of functionality, Postman makes it possible for developers and API testers to streamline the procedure of testing (APIs). It does not matter whether you have years of experience as a software engineer or are just starting in the field of API testing; it is necessary to have a basic grasp of Postman to make full use of its capabilities.

In this article, we will thoroughly examine the software tool known as Postman and delve into various strategies and techniques which could successfully harness its extensive capabilities.

Ahead we will augment your skill sets as an experienced developer. If you are new and learning to adapt, it will encourage you to explore a wide variety of features of this tool. Eventually, it will not just be the proverbial ā€˜Postmanā€™ exchanging and delivering requests. It will become the ideal go-to API testing solution as you become a Postman guru.Ā 

Disclaimer:
We presume you have already installed Postman, the amazing tool for Application Programming Interface aka API testing. The following blog will only focus on the toolā€™s credibility for skilled developers. Using various features you can share requests, and create and test documents/files. The tool accepts requests to save complexities related to HTTP and read responses coming from the client-server.

POSTMAN Syntax

GET retrieves data from an API.

POST sends new data to an API.

PATCH and PUT update existing data.

DELETE removes existing data.

5 tips that make Postman beneficialĀ 

  1. Collating all tests with collections.
  2. Managing test data under different environments.
  3. Automation with scripts. Use the API login token for all requests.
  4. Monitors for scheduled test runs. 
  5. Sharing results with the team and taking quick decisions on requests.  
Read More »

Agile Testing Strategies for Successful Software Development

Agile software development has become the modern gold standard in programming and tech innovation. Known for its dynamic and flexible methodology, Agile is rooted in customer satisfaction, consistent delivery, teamwork, and the capacity to adapt to changes.

However, central to the Agile methodology is a component that often goes unappreciated ā€“ testing.

No matter how elegant or efficient the code is, thorough testing is necessary for it to succeed. This post will dive into the critical role of testing within Agile, demonstrating how it aligns with programming & source control best practices, such as using Git, implementing effective web development strategies, and leveraging Azure. By exploring various testing strategies, we aim to shine a light on enhancing your software development process for success.

Understanding Agile Testing

Agile testing is a critical part of the Agile methodology. Unlike traditional testing methods, it is integrated into every stage of development rather than being a separate phase. This approach ensures that issues are identified and resolved quickly, facilitating a smoother development process.

The key principles of Agile testing include:

  1. Continuous Testing: Test early; test often. Agile testing happens continuously throughout the development process.
  2. Team Involvement: Everyone on the Agile team participates in testing, not just designated testers.
  3. Feedback and Improvement: Agile testing thrives on feedback, adapting, and improving as the project progresses.

Unlike traditional testing methods that usually occur after coding is complete, Agile testing runs concurrently with development. This continuous, intertwined process allows for rapid adjustments, reduces bug accumulation, and ensures that the final product aligns more closely with user needs. Agile testing’s essence is flexibility, frequent communication, and adaptability, instrumental to successful software development.

Agile Testing Strategies

Navigating the dynamic waters of Agile software development requires robust, adaptable testing strategies. These methods facilitate quality assurance, swift error detection, and effective communication, all while keeping the user’s needs at the forefront.

Read More »

How to Start a Career in Software Testing

<This is a guest post by Kuldeep Rana>

Starting a career in software testing can be rewarding for individuals interested in technology and quality assurance. There are opportunities for growth, including specializing in a particular area, such as automation testing or performance testing, or moving into management positions.

If you are interested in technology and enjoy problem-solving, a career in software testing may
be the right fit for you. Certainly! Here is some advice on how to start a career in software testing:

Introduction to Software Testing

Software testing is a critical part of software development, ensuring that software applications work as intended and meet user requirements. Software testing is a process of evaluating and verifying a software application or system to check whether it meets the specified requirements and performs as expected. The main goal of software testing is to identify defects or bugs in the software and ensure that the software is functional, reliable, and meets user expectations.
There are different types of software testing, and the approach used depends on the specific requirements and goals of the project.

Different Roles of a Software Tester

a. Functional Testing: Functional testing is a type of software testing that verifies whether the software application’s functionality works as intended and meets the specified requirements. It checks the software’s functionality against the requirements and specifications. It verifies that the software performs as expected in different scenarios.

Testing software functionality includes focusing on testing techniques, exploratory and adhoc testing and requires testers to also acquire domain knowledge for their sofwtare.

b. Non-Functional Testing: Non-functional testing is a type of software testing that evaluates the software application’s non-functional aspects, such as performance, reliability, scalability, usability, security, and compatibility. Non-functional testing evaluates how well the software meets non-functional requirements, such as speed, responsiveness, and user experience.

c. Test Automation: This includes focusing on automating aspects of test execution, test data creation and reporting that can help in saving time and improves efficiency by automating repetitive tasks. A test automation expert has knowledge of automation concepts, specialises in tools and CI/CD aspects of testing phases and resources.

Tips to help you start a career in software testing

Gain a powerful foundation in software testing concepts

To become a successful software tester, you need a solid understanding of software testing concepts, such as testing types, methods, and tools. You can begin by reading books on software testing or taking online courses to build your knowledge. Some popular books on software testing include “Software Testing: A Craftsman’s Approach” by Paul C. Jorgensen, “How to Break Software: A Practical Guide to Testing” by James A. Whittaker, “Software Testing Techniques” by Boris Beizer, “The Art of Software Testing” by Glenford J. Myers, and “Testing Computer Software” by Cem Kaner, Jack Falk, and Hung Q. Nguyen.

Obtain a relevant degree

While a degree is not a requirement for becoming a software tester, having a degree in computer science, engineering, or a related field can be advantageous in landing a job in software testing. A degree can demonstrate your understanding of software development and computer programming, which can be useful in testing software applications.

Build practical experience

Practical experience is critical in software testing. You can gain experience by participating in open-source projects, contributing to software development efforts, or testing applications in a volunteer or part-time capacity. This experience can also help you develop your testing skills and build a portfolio to showcase your work.

Learn automation testing tools

Automation testing tools have become an essential part of software testing, and learning them can be beneficial in your career. Popular automation testing tools include Selenium, JMeter, and Appium. Familiarizing yourself with these tools can help you become more efficient in testing software applications and make you a more valuable candidate in the job market.

Seek certification

Consider obtaining a certification such as ISTQB (International Software Testing Qualifications Board) or CSTE (Certified Software Tester). Certification can help validate your skills and experience to potential employers and demonstrate your commitment to the profession. Certification can also provide you with a competitive advantage when applying for software testing jobs.

Network with other software testers

Networking is essential in any profession, including software testing. Attend software testing conferences, join online communities, or participate in forums to connect with other software testers. Networking can help you learn about job opportunities, share knowledge, and gain insights from industry experts.

Apply for entry-level jobs

Look for entry-level software testing jobs such as software tester, quality assurance analyst, or test engineer. These roles can provide you with on-the-job training and help you gain experience in real-world testing scenarios. Entry-level jobs can also help you build your skills, gain exposure to various testing tools and methodologies, and advance your career. Refer to manual testing interview questions for ideas and prepare for entry-level jobs.

Conclusion

In conclusion, starting a career in software testing requires persistence, continuous learning, and a strong desire to learn and grow. The software testing career path can be rewarding and challenging. As technology evolves, so too does the role of software testing. By building your skills and experience, obtaining certifications, and networking with other software testers, you can position yourself for a successful career in software testing.

It is important to continually learn and stay up-to-date with new testing methodologies, tools, and technologies. Additionally, developing strong communication and collaboration skills will help you work effectively with developers, project managers, and other stakeholders.

*****************************************************************************************************

<Image Credits- unsplash.com>

<This is a guest post by Kuldeep Rana who is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals.>


I am speaking at WomenTech Global Conference 2023

I am super excited to announce that I will be speaking at my Second WomenTech NetworkGlobal Conference – The last one was in 2021 and now in May this year!
I am grateful for this amazing opportunity and looking forward to the grand event!

Here are the details of my session:

Session: Testing for Speed to Market

The software world is constantly under pressure of ā€˜speed to marketā€™, which impacts each stage of software development. Software testing is not left untouched by this constant hustle and hence has every reason to evolve and adapt! Testers look outwards for priorities, collaboration and transparency; while they look inwards to reimagine processes, templatise lightweight documentation and recreate their own way of life in the testing world! Let us discuss ways we can plan, strategise and conduct software testing that befits this fast pace of software delivery and upholds the quality standards the market demands.

Key Takeaways

  • Testing under pressure of ā€˜speed to marketā€™
  • Adapting software test planning and strategy to the fast pace of software delivery
  • Relooking at test prioritization
  • Optimizing test processes and creating lightweight documentation
  • The role of cross-functional communication & collaboration in agile software delivery

Register for the event here

See you there,

Cheers!

Introduction to ERP Testing and its Importance

<This is a guest post by Sohaib Zaidi>

In this era of cut-throat competition, global enterprises are facing tremendous pressure to enhance efficiency, reduce costs, increase sales and profitability. For this, more and more enterprises are embracing ERP (Enterprise Resource Planning) software. Apart from enabling enterprises to make accurate, informed and strategic decisions, ERP also helps them to stay compliant. Though the benefits of introducing cloud ERP solutions to your business are countless, yet these benefits come with several challenges.

Enterprises that have already embraced cloud are struggling to keep pace with the frequency of ERP software updates. ERP vendors like Oracle, SAP, Microsoft, Salesforce, etc are rolling out new releases and patches on monthly, quarterly, or biannually. Since cloud updates are rolled out at quick succession, enterprises are finding it hard to quickly test the updates and deploy these to production. Here arises the need of ERP testing.Ā 

Why is it necessary to test ERP updates before deployment to production?

ERP updates bring new features and functionality, customer enhancement requests, and patches from previous releases. These updates need to be tested regressively since there are chances that they can impact a variety of functions that may cause disruption to business continuity. So, it is always recommended that before rolling out the ERP updates, QA teams should test critical business processes, validate reports, key workflows and test critical integrations with other applications.

Though manual application testing approach is still prevalent but it cannot be considered as a reliable solution in case of ERP testing. To understand this better, let us discuss an example of Oracle ERP. Oracle rolls out quarterly updates. These updates are first introduced to non-production environments. Oracle offers two weeksā€™ time to test these updates and raise issues. After two weeks, these get applied to the production environment. So, performing Oracle testing manually for these updates is non-feasible. Apart from time-consuming, manual testing is error prone, fragile and costly. Another disadvantage associated with manual testing is that it can adversely impact business continuity due to limited test coverage and its inability to identify change impact.

Embrace Automation Testing for seamless cloud adoption

Test automation not only reduces testing time of complex ERP systems but also ensures robust software quality. The biggest perks associated with test automation are maximum accuracy with minimum efforts, quick feedback, accelerated results, lower costs, and maximum coverage. Most of the test automation tools perform post release impact analysis to identify the impacted areas. Based on the impact assessment, QA teams can generate most relevant tests to execute validation. This not only defines the accurate testing scope but also delivers wider coverage which is not possible while performing manual testing.

When enterprises use test automation for security testing and constant maintenance, they get the opportunity to easily recognize defects. This approach significantly reduces vulnerabilities, helping enterprises to keep huge losses at bay. Automated testing also helps enterprises to overcome challenges of drowsy routine procedures crop up due to manual testing. Leveraging test automation tools, enterprises can accelerate routine procedures that consume time and cost to ensure a quick turnaround and superior ROI.

Author – Sohaib Zaidi – in his own words-
 
I am a technology enthusiast and professional writer with experience across niches like digital transformation, AI, IoT, & test automation. I love to write technology in simple tone so that readers can easily understand how embracing technology can deliver greater outcomes.    

My Contribution to the eBook ’21st Century Skills for Software Testers’

I am proud to announce another one of my contributions made its way to the eBook titled ‘21st Century Skills for Software Testers‘. This initiative was started by Emna Ayadi and Ard Kramer asking for contributions from various testers on their thoughts about the essential pivotal skill sets that benefit software testers.

šŸš€ This bilingual book made by software testers is all about:
How we apply 21st-century skills:
šŸ”ø Critical thinking
šŸ”¹ Communication
šŸ”ø Collaboration
šŸ”¹ Creativity
and also how we are going to use these skills in the future.

#21stskills4testers

This was a great initiative to bring together thoughts of many great testers from around the globe. There are some great pieces featured and a number of things to learn. I am super excited to feature in not one but Two sections in there –

Check out what I wrote in the First section of ‘Critical Thinking’ – Section 1.1.15 ‘Stories of Testers from the Present’ and Section 1.2.8 ‘Imaginations and Thoughts of Testers’

Find the eBook here -> https://leanpub.com/_21stskills4testers And you can download the book for free (fill out 0 dollars)

Glad to be featured along with so many awesome people from around the globe!

I am grateful for the opportunity and always welcome more such chances to contribute my thoughts for the betterment of the testing community!

Cheers

Nishi

Fighting Defect Clusters in Software Testing

Defects tend to cluster in some areas of the software under test. It may happen due to higher complexity, algorithms, or a higher number of integrations in a few constrained segments of the software.

These defect clusters can be tricky, both to find and to deal with. Testers need to be on constant alert for ways to isolate defect clusters and devise ways to overcome them, fight those defects and move on to new clusters.

In my article for Gurock blog, I discussed some ways to fight Defect Clusters in Software Testing:

Locating Defect Clusters

Most defects tend to cluster in certain areas of your software. It is one of the seven testing principles. Many testers intuitively know of these defect-prone areas, but we can still strive to be on the lookout for clusters of defects in a number of ways, like utilizing

Metrics

Using metrics like defect density charts or module-wise defect counts, we can examine the history of defects that have been found and look for areas, modules, or features with higher defect density. This is where we should begin our search for defect clusters. Spending more time testing these areas may lead us to more defects or more complex use cases to try out.

For example, the chart below shows that Module 4 has the most defects, so it would be smart to continue concentrating on that module in the future.

History

Use the defect management system and the history of the software to go through older defects, and try to replicate them in the system. You will get to know the systemā€™s history, where it broke and how it works now. You may learn a lot about the software and find many new areas to test.

Experience

A testerā€™s intuition, experience and history with the product is by far the best way to find defect clusters. Lessons learned by experienced teammates should be shared with new coworkers so that the knowledge can be passed on, utilized and improved upon by exercising these defect-prone areas with new perspectives.

Fighting Defect Clusters

Defect clustering follows the Pareto rule that 80% of the defects are caused by 20% of the modules in the software. Itā€™s imperative for a tester to know which 20% of modules have the most defects so that the maximum amount of effort can be spent there. That way, even if you donā€™t have a lot of time to test, hopefully, you can still find the majority of defects.

Once you know the defect cluster areas, testers can focus on containing the defects in their product in a number of ways. Continue Reading—>

Read Along- ā€˜Agile Testingā€™ Chapter-2

ā€œThe Principles for agile testersā€

Points to remember and Quotable Quotes

Definition of Agile Tester-

ā€œA professional tester who embraces change, collaborates well with both technical and businesspeople, and understands the concept of using tests to document requirements and drive development.ā€

  • Skills are important, but attitude counts more
  • An agile tester does not see herself as a quality police officer, protecting her customers from inadequate code.
  • Agile testers donā€™t limit themselves to solving only testing issues.
  • Creativity, openness to ideas, willingness to take on any task or role, focus on the customer and a constant view of the big picture ā€“ are some components of the agile testing mindset.
  • A team that guides itself with agile values and principles will have higher team morale and better velocity than a poorly functioning team of talented individuals.
  • The principles important for agile testers are ā€“
    • Provide continuous feedback
    • Deliver value to customer
    • Enable face-to-face communication
    • Have courage
    • Keep it Simple
    • Practice continuous improvement
    • Respond to change
    • Self-organize
    • Focus on people
    • Enjoy
  • AATD ā€œAgile Attention Deficit Disorderā€ ā€“ Anything not learned quickly might be deemed useless!
  • Automating tests is hard, but it is much easier when you have the whole team working together.
  • Agile development rewards the agile testerā€™s passion for her work!

I had written an article about differences between Agile and Traditional testing approaches a few years back. Though I had not read this book at the time, I now feel how many of the points were similar and resonate the same even now. You can read my article here – https://testwithnishi.com/2016/10/20/5-ways-agile-testing-is-different-from-traditional-testing/

***Update **About face-to-face communication** during Covid-19 ***

As I am reading this book during this bizarre time of social-distancing, working remotely and entire nations on lockdown, the part about ‘face-to-face’ communication has a new meaning now. As Janet Gregory also pointed out in response to this article, our definition of face-to-face has changed over the last few weeks over the entire world! We are lucky to have technology that helps us continue effective communication within our teams, have conversations, video calls, screen shares, continue learning over webinars and continue working, feeling useful and being productive.

Hoping things change soon and we can go back to having fun, productive discussions with our team mates over coffee. Until then — Happy social distancing!

*************

Blind Spots in Software Testing

Reduced awareness or unintended ignorance of certain aspects can lead to inattentional blindness, or the failure to notice something that should have been visible because our attention was engaged elsewhere. As a human psychological concept, inattentional blindness also plagues testers and their mindset when testing. In my latest article for Testrail blog, I look at some steps we can take to overcome this challenge and avoid blind spots in our testing work.

Target Fixation

It is a natural response of our brain to avoid getting overloaded with information. It automatically focuses on information that is most important while avoiding unnecessary details and noise.

In many situations, this manifests in our focus on the task at hand and its context so much that we neglect surrounding details. This is true for day-to-day activities like bumping into a pillar while looking at our phones, failing to see a swerving car when watching the road aheadā€¦ or not noticing a takeaway coffee cup in the middle of a popular television show set in ancient times!

Letā€™s say you are browsing through a website with the intention of looking at the layouts that must match provided mockups. While you are doing that, you may miss the following:

  • The homepage of the website has an older logo of the company that should have been replaced by the newer version.
  • The login box has username and password fields but the login button is missing.
  • The URL structure of the website is all wonky and the individual page URLs are not named correctly.

Overlooked Information

Testers often execute tests that have defined steps and expected results, so we frequently overlook anything that is not defined and only check for the results weā€™re looking for. The testerā€™s mind is attuned to looking for specified errors, while other information or defects may tend to get missed, even though they may be right in front of our eyes.
Pick up any passed test case and try to re-execute it, but this time keep an open eye and an open mind for any new information surrounding the test. More often than not, you will find that many more defects, risk areas or questions can be found in the same area, despite the test having passed.

Read More—>

Read complete article at https://blog.gurock.com/blind-spots-software-testing/