đŸ€– Day 2: Read an introductory article on AI in testing and share it

Hello there :slight_smile:
My chosen article is “Artificial Intelligence in Software Test Automation: A Systematic Literature Review”, it’s an article from 2019, we didn’t have the discoveries from 2023, but it covers the basics, problems and needs for software testing.

  1. Problem: The main point here is that it’s impossible to maintain manual testing as the company’s main testing strategy because of the cost and unproductive results, the other problem is that, even if you invest in automation test, the maintenance cost is too high (about 40% of the tester’s time was spent with the automation maintenance).
  2. How should AI help: This topic is confusing all over the article, but what I could pick from it is that AI should help at the more “mechanical” actions of automation, as maintenance, suggestion of test coverage, and power up the tools used to automate the tests.

The article is interesting to know the perspective of AI in a year before ChatGPT and to see that the problems are the most common ones. At the very end, the AI should help de QA engineers to test fast, within less time to deliver the code even faster.

4 Likes

My favourite article is Selenium and Generative AI

The article provides very practical and actionable use cases for the usage of GenAI and With Selenium


2 Likes

Hi All,

Here is the article: https://testsigma.com/blog/is-ai-really-important-in-software-test-automation/

The main takeaways from the article and that I consider most important in case we start to implement AI in software testing:

"Benefits of Artificial Intelligence in Software Testing
Easy test case creation. Testers can create a large number of test cases, even for complex scenarios, in less time.
It allows for rapid feedback on application quality and reduces time-to-market.
You can cover multiple test scenarios and edge cases that might be challenging to identify manually.
It eliminates human errors, ensuring consistent and reliable test results.
AI enables continuous testing by integrating with CI/CD pipelines, ensuring testing is seamlessly integrated into the development process.
It significantly reduces manual effort, accelerates test cycles, and increases test efficiency

What Tasks can AI Software Testing not help with?
Review of Documentation: Examining the documentation to understand the ins and outs of a system that needs to be built is better done by a human.
Test Creation for complex scenarios: The complex scenarios that involve using multiple components in different ways is better done by a QA tester because, ultimately, the application will be used by humans.
Test Result Reporting and analysis: Understanding the test results and deciding the next steps needed.
UX testing: User experience can improve when users go through the application."

4 Likes

Thanks for sharing the information and repository. It should be worth to look further

1 Like

Thanks for sharing a better insights

1 Like

Hi all

I would like to share my blog post

https://www.testodev.com/2023/06/influence-of-ai-in-software-testing.html.html

Most of the points we already discussed here. Seems that AI in software testing really promising but a lot of developments still need to happen to enhance the quality and the cost of the operation.

Note: The content generated with the help of ChatGPT and the image on the blog post generated using stablediffusionweb.com. I did very minimal editing

2 Likes

Starting simple

i would start by first identifying time consuming tasks. i.e

I would begin by identifying tasks within our QA processes that are repetitive, time-consuming, and prone to human error. These tasks are ideal candidates for initial automation efforts. For example, automating the generation of test cases from requirements documents using NLP can save significant time and reduce the potential for oversight.

then move to implementing AI in phases

  • Phase 1: Start with a tool like Testim to automate the execution of test cases. Testim’s AI capabilities can help in identifying UI changes and adjusting test scripts accordingly, which reduces the maintenance burden on QA teams.

  • Phase 2: Integrate NLP tools to assist in writing test cases. This can be particularly useful for converting natural language requirements into structured test cases, making the process faster and more efficient.

finally combine AI Automation with Human Expertise

  • Review and Refinement: Use AI tools to generate and execute test cases but have QA professionals review and refine these cases. This ensures that the test cases are comprehensive and aligned with the business requirements.
  • Leverage human expertise for exploratory testing where creativity and intuition are crucial. Use AI to handle routine testing, freeing up human testers to focus on more complex testing scenarios that require human judgment
2 Likes
  1. Takeaways from the article.
    a) A technology that not only detects bugs but also learns from them, anticipating issues before they occur
    b) AI progression reflects a shift from basic automated testing to more intricate and intelligent testing methodologies.
    c) Best practices include Clear Roadmap and Objectives for phased AI implementation, Skills Assessment and training, Strategic Test Case Selection, Continuous Improvement Framework and Ethical AI Practices.
    d) Promote Effective Communication, Establish clear communication channels between testing and development teams to facilitate a smooth integration of AI. Encourage open dialogue to address any concerns, share insights, and collectively work towards successful implementation.

  2. Essential concepts
    a) intelligent analysis and processing data,
    b) discerning patterns through data and bugs,
    c) making informed decisions on Test Case selection.
    d) Streamlined Test Maintenance. AI makes test maintenance effortless by learning from changes in the software and automatically adjusting testing strategies accordingly.

  3. Tools
    a) Functionize
    b) Katalon
    c) Applitools
    d) Testim

3 Likes

Thoroughly agree with you @meg90 :+1:

1 Like

Elevating Automated Testing: Playwright Meets ChatGPT

Here’s a breakdown of my takeaways from writing my article about Playwright and ChatGPT in testing:

  1. Main Takeaways: Dived into how ChatGPT can revolutionize automated testing by generating code snippets, debugging, and converting code between languages. Highlighted Playwright’s strengths in browser automation.
  2. Application in Testing Context: Seeing huge potential here to use AI for making testing workflows more efficient. Especially intrigued by AI’s role in reducing manual coding effort and speeding up the debugging process.
  3. Challenges and Opportunities: While AI brings a lot to the table, it’s not a silver bullet—accuracy in AI suggestions and integrating AI smoothly into existing workflows are some hurdles. Yet, the opportunity to innovate testing practices is exciting.
  4. Personal Reflections: As the author of this exploration, I’ve been thrilled to merge my tech background with the latest in AI to push the boundaries of what’s possible in testing. It’s been a learning curve, but one with rewarding outcomes.

For the full deep dive and more of my reflections, hit up the article: Elevating Automated Testing: Playwright Meets ChatGPT. Keen to hear how you all think AI could reshape our testing landscapes!

4 Likes

Day 2

Look for an article that introduces AI in software testing. It could be a guide, a blog post, or a case study—anything that you find interesting and informative.

From the many pages of links to companies promising many things I chose:

https://www.getxray.app/blog/ai-in-automated-testing

Mainly because I know a few xrayers and they are generally quite sensible.

Summarise the main takeaways from the article. What are the essential concepts, tools, or methodologies discussed?

The article steps through a couple of test automation design approaches using AI tooling:

  1. Tools that use character or image recognition to ‘spider’ your app and provide information about changes.
  2. The more classic ‘scripting’ approach where you would provide prompts to generate a cypress test for example, you might augment with in editor tooling like copilot.

Maintenance wise the article acknowledges that UI automation can be brittle but AI tooling can help, updating its own model of your application with changes or using LLM’s for code review, comments and documentation.

Consider how the insights from the article apply to your testing context. Do you see potential uses for AI in your projects? What are the challenges or opportunities?

There were a few things that stood out:

  • Using AI for accelerating requirements and design mock ups, this might help with those hidden requirements that testers come up with early on (error handling, journey abandoning) and fleshing them out earlier.
  • Phind, a ChatGPT based product that can act as your pair programmer for prompt design.
  • Local only urls and authentication layers could be a real blocker for AI tools, especially the character and image recognition spiders.
  • The article warns that as complexity grows, prompt design is not enough, humans will need to intervene.
  • The execution section is missing a little on the questions ‘What is the smallest suite of tests needed?’ This is an interesting usage of AI to target tests where the changes are, but it lacks depth on this area.
6 Likes

The point about seeing it for yourself and what it can and can’t do is well made.

Judging from afar with no experience (and being either dismissive or blindly enthusiastic) of Generative AI won’t help you as the world changes. As they say in the Toyota Management System:

Go and see for yourself to thoroughly understand the situation(genchi genbutsu).

2 Likes

:woman_technologist: Hi everyone on day 02!
So I came accross article 5 Truths About AI-Driven Software Testing from Keysight - Anna McCowan.

The article discusses how AI is revolutionizing software testing, making it more efficient and effective.

  1. AI improves software quality: By analyzing large amounts of data, AI-driven testing tools can detect defects and performance issues, leading to more reliable software products.
  2. AI can test subjective aspects: Unlike manual testing, AI can handle qualitative aspects like UI design, usability, and accessibility, leading to more comprehensive testing.
  3. AI reduces maintenance for visual updates: With intelligent computer vision, AI can recognize UI changes without relying on specific coding structures, reducing the need for constant test script updates.
  4. AI increases test coverage and speed: AI narrows the gap between software complexity and test automation, especially crucial for enterprise applications with continuous updates and shrinking time-to-market cycles.
  5. AI-driven testing is already here: AI is not just a future concept; it’s being used today to automate tasks once thought impossible, and its capabilities will only continue to evolve.

In my testing context, incorporating AI could offer benefits such as faster test execution, increased test coverage, and more accurate defect detection.

However, challenges like integration with existing testing frameworks and the need for skilled AI professionals may arise. Overall, embracing AI in software testing seems necessary to keep up with the demands of modern software development. :v:

3 Likes

ChatGPT got an update :grin:

Nevertheless, I agree with most of James Bach’s statements.
It will take many years before AI meets “his demands”.

Marijana, thx for bring this into our stream

3 Likes

Link: AI-in-Software-Testing

Key Takeaways and Summary:

  • Visual AI Testing Tools: These are crucial for addressing the challenges of testing UI layers across diverse platforms and screen sizes. Tools like Applitools and Percy by BrowserStack automate visual testing, helping teams to identify visual discrepancies efficiently.
  • Declarative Tools: Aimed at boosting test automation productivity, these tools, including Tricentis and UiPath Test Suite, leverage AI and ML to automate repetitive tasks and improve test stability.
  • Self-healing Tools: To combat the issue of flaky tests, self-healing tools such as Mabl and Testim utilize AI to auto-correct and maintain test scripts, enhancing the reliability of automated tests.

This article emphasizes how AI-driven test automation tools support agile and DevOps practices by bringing human-like decision-making capabilities to the testing process, thereby enabling faster, more reliable software releases.

Application to Your Testing Context and Potential Uses:

Incorporating AI into your testing strategy can dramatically improve efficiency and accuracy. For instance, Visual AI testing tools can ensure your UI is consistent across different devices and platforms, which is critical for user experience. Declarative tools can simplify the creation of test scripts, making it easier for your team to automate testing processes without extensive coding knowledge. Self-healing tools reduce the maintenance overhead by automatically updating tests when UI changes occur, ensuring your testing suite remains robust over time.

Challenges and Opportunities:

While AI in software testing offers significant advantages, there are challenges to consider, such as the initial setup and integration of these tools into your existing workflows, and the need for your team to adapt to new testing paradigms. However, the opportunities for enhancing test coverage, speeding up the testing process, and ultimately improving product quality are substantial.

Considering the insights from the article, integrating AI-powered tools into your projects could provide a strategic advantage, enabling you to deliver high-quality software at a faster pace. The key is to start small, perhaps by integrating a visual testing tool or a self-healing mechanism, and gradually expanding your use of AI as you become more comfortable with its capabilities and benefits.

2 Likes

I found this article helpful for a bit of an overview https://www.upwork.com/resources/ai-tester-skills (even feels like it was written by an AI, so that’s a stamp of authenticity, right?).

My main takeaway is that AI is most useful as an extension of automated testing at this point - helping to plan, review and interpret the results of automated tests.

Also, that learning Python is probably a good idea to be able to engage with data preprocessing.

The article also gave a useful over view of what and AI tester does:

  • Understanding the AI model - it’s intended purpose, its algorithms, and the data it uses.
  • Designing test scenarios
  • Testing the model’s performance
  • Evaluating for bias and fairness
  • Providing documentation - records of testing procedures, test results, and issues
  • Using the AI software for testing - Employing the tool to automate and enhance testing processes

Doesn’t sound a lot different to what a person doing Test Automation does really, just a fancy new tool for more efficiency, and perhaps a lot of overhead to maintain it.

I’m realising the main issue I will have getting to grips with AI is time. We’re so busy just doing the work that it’s doubtful we have time to step back and learn all the stuff - and not clear yet that it is worth it for us.

4 Likes

That’s a really interesting video from James’. I’m quite familiar with his views on AI; him and Michael Bolton have been very vocal in warning about it. There’s actually been a lot of public arguments from Jason Arbon against James & Michael.

My first hand experience tallies with James’ - you cannot trust AI. Any work it does much be checked and supervised.
For me, AI (at this stage) can only assist and you need to expertise to scrutinise what it produces. But I believe it can still be immensely useful, much more so than James admits.

This believe is at odds with the video I shared yesterday from Jason, who believes it can be trusted and is being used for myriad of testing tasks.

A concern I have is that I feel James (and Michael) have set themselves up as being against AI and their public statements seem very one-sided. Their investigations seem to be lead by confirmation bias and they very rarely actually admit AI can be useful. They’re also very aggressive in their messaging. For me, that’s a shame because they have such important information to share but their delivery makes them sound like angry skeptics and this turns off a lot of people.

4 Likes

It was more fun to read other people’s summaries than putting one together myself. I use a Chrome/Firefox extension called “Read Aloud” to read these articles, it’s built-in Edge. Thanks all for putting in the effort to do your research!

The blog post I chose is called “What is AI Testing? A Complete Guide”

It has the following sections:

What is AI?- it’s always good to hear different explanations
What is AI Testing?
Benefits of Using AI for Testing:

  1. AI Enables Faster and Smarter Test Creation
  2. AI Can Quickly Generate Test Data for Data-Driven Testing
  3. AI Makes Test Maintenance Effortless
  4. AI Enhances Visual Testing

Using ChatGPT for Software Testing

Then it introduced 4 tools with features explained, AI-Powered Tools for AI Testing: Katalon Platform, TestCraft, Applitools, Testim Automate

And finished the post with
How to Test for AI Systems
AI Testing FAQs:

  1. How is AI testing different from traditional software testing?
  2. What challenges are involved in AI testing?
  3. How can AI support continuous testing?
2 Likes

Main Conclusions of the Article:

  1. The use of artificial intelligence (AI) in software testing is becoming increasingly prevalent, offering advantages such as enhanced precision, broadening the tests performed, and saving time and resources.
  2. Tools such as MINTest, AutoBlackTest, AimDroid, Sikuli Test, and Testilizer are being used to automate different aspects of software testing, including generating test cases, GUI testing, and integration testing.
  3. Software testing automation is expanding in the United States, with growing adoption of automated testing tools by companies seeking to accelerate their testing cycles and increase test coverage.
  4. The application of AI in software development has the potential to revolutionize how testing is performed, making it more efficient, intelligent, and adaptable to market needs.

Application to Testing Context:

  1. The insights from the article suggest that AI can be a valuable tool for improving the efficiency and effectiveness of software testing in my work context. For example, AI-driven test automation can help identify issues more quickly and increase test coverage in complex projects.
  2. There are opportunities to explore the use of AI tools such as machine learning and computer vision to automate repetitive testing tasks and improve fault detection in different usage scenarios.
  3. However, there are also challenges to consider, such as the need to acquire expertise in AI and ensure that tools and algorithms are properly trained and tested to ensure reliable results.
  4. In summary, the article highlights the importance of considering AI as a complementary tool to traditional software testing methods, offering significant opportunities to improve the quality and efficiency of the software development process.

link https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4004324

3 Likes

I read Tech Target’s guide to AI in Enterprise . This was dense and filled with new terms. I’m not sure if I have a better understanding of AI then when I started reading. The article was too wide in scope.

2 Likes