Challenge by Sidharth Shukla: Elevate Testing Excellence with AI✨

  • 5 February 2024
  • 6 replies
  • 24161 views

Userlevel 7
Badge +2
  • Community Manager
  • 103 replies

How to Elevate Testing Excellence with AI

 

Challenge Description:

Tell us about a problem you face while performing testing (manual or automation), and give us information on how you fixed it. Think about whether using smart technology like Artificial Intelligence (AI) could make your solution even better.

Key Tasks:

  • Identify a Testing Challenge:
    • Choose a notable challenge faced in your functional or automation testing projects. This could include issues related to test maintenance, test data management, test automation or dynamic application changes .
  • Propose a Solution:
    • Outline a solution to address the identified challenge. Clearly articulate the problem statement, and provide a solution that could enhance testing efficiency, accuracy, or overall effectiveness.[No need to share code, just the approach would be enough]
  • Consider AI Integration:
    • Evaluate whether incorporating AI techniques can further optimise the proposed solution. If applicable, specify how AI could enhance the solution's capabilities and efficiency. 

Submission Guidelines:

  • Challenge and Solution Document:
    • Provide a document or comment below outlining the identified testing challenge and the proposed solution. Clearly define the problem statement and present a guide for implementing the solution.
  • AI Integration Analysis:
    • If AI integration is proposed, explain how and why AI could enhance the effectiveness of the solution. Detail the AI techniques or technologies considered for integration.
  • Expected Impact:
    • Describe the anticipated impact of the proposed solution on testing projects. Discuss potential improvements in efficiency, accuracy, or any other relevant metrics.

We encourage participants to share their findings in the comments section below. Alternatively, if you're more comfortable, you can send your detailed report to shiftsync@tricentis.com. To ensure your submission is considered, please add a comment stating that you have submitted the report via email.

Submission Template:

 

Challenge Title: Elevate Testing Excellence with AI

1. **Problem Statement:**[Mandatory]

 - Clearly define the testing challenge you've encountered.

Example: Generating random test data

 

2. **Proposed Solution:**[Mandatory]

 - Provide a detailed step-by-step guide to address the identified challenge.

Example: Using java.util.Random

 

3. **AI Integration Analysis:**[Mandatory]

 - If applicable, explain how AI could enhance the proposed solution. Specify AI techniques or technologies considered. But if you feel AI can’t help then just mention “Not Applicable”
Example: Yes, AI can be used to generate more robust data, gpt can be considered for the same.

 

4. **Expected Impact:**[Not-Mandatory]

 - Discuss the expected impact of the proposed solution on testing projects, including improvements in efficiency, accuracy, or relevant metrics.
Example: AI models like GPT can generate large amounts of diverse and realistic data much faster

 

Evaluation Criteria:

  • Clarity and Significance of Challenge: How clearly and significantly is the testing challenge defined?
  • Comprehensiveness of Solution: How comprehensive and detailed is the proposed solution?
  • Consideration of AI Integration: How well is the potential integration of AI into the solution analyzed and justified?
  • Feasibility: How feasible is the proposed solution for real-world testing projects?
  • Innovation: How innovative and creative is the proposed solution?

Prizes and Points:

The challenge encourages participants to think critically, propose practical solutions, and explore the potential of AI in overcoming testing challenges. The most impactful problem statement with a well-defined solution will be recognized and awarded. @sidharth shukla  will also discuss with the winner on a better approach to solve the problem statement.

 

🏆 Winner: Personalized Certificate of Achievement signed by Sidharth, +300 points, a badge, and a gift from us.

🌟 All Participants: +150 points for your valuable contribution to the challenge.

The challenge will last one week. The winners will be announced on Feb. 13.

 

Consider this a small yet valuable tip from us: a bit of preparation and gaining new insights can make a significant difference in overcoming challenges. Check out Sidharth's article for a helpful nudge in the right direction!


6 replies

Userlevel 6
Badge +2

Wow, I am keeping an eye on this page.

1. **Problem Statement:

 - We Were trying AWS SDK for JavaScript (v3) to work with DynamoDB and trying to import the DynamoDB object along with the parse function from @aws-sdk/client-dynamodb.

2. **Proposed Solution:**[Mandatory]

 - We were trying to use DynamoDB from aws-sdk but we didn't find that. So we decided to use '@aws-sdk/client-dynamodb'. And trying to use the parse function.

Code:

const { DynamoDB } = require('@aws-sdk/client-dynamodb'); 

const parse = DynamoDB.Converter.output;

3. **AI Integration Analysis:

 -Yes, AI can be used to get which function can be used here instead of parse. However, the parse function is not part of the DynamoDB object in the AWS SDK for JavaScript (v3).

AI Solution:

If you want to parse DynamoDB output in JavaScript, you should use the unmarshall function provided by @aws-sdk/util-dynamodb. Here's an example:

javascriptCopy codeconst { DynamoDB } = require('@aws-sdk/client-dynamodb');const { unmarshall } = require('@aws-sdk/util-dynamodb');

// Your DynamoDB response objectconst dynamoDBResponse = {
  Item: {
    // Your item properties here  },  // Other response properties here};
// Use unmarshall to parse DynamoDB outputconst parsedItem = unmarshall(dynamoDBResponse.Item);
console.log(parsedItem);
 

 

Make sure to replace // Your item properties here it with the actual properties of your DynamoDB item. The unmarshall function will convert the DynamoDB output format into a regular JavaScript object.

4. **Expected Impact:

 - AI models(Chat GPT) helped us to resolve this issue in a much faster way.

Badge

Hi I have submitted my response via email (Email send to  shiftsync@tricentis.com.)

I have submitted My response via Email, Thanks @sidharth shukla for this opportunity 

Badge

Hi I have submitted my response via email (Email send to  shiftsync@tricentis.com.)

Below is the submission send via email:
 

Problem Statement:

The task was to design a crawler that can go through all the links in a web page to identify instances of "page not found" errors and perform functional verification The challenge was magnified by the need for this verification process to be done for 130 language specific web pages All links return a status code of 200 (indicating a successful response) and correctly display any "page not found" errors

 

However, there are several significant challenges with the existing use of the crawler. First, the number of visited links on many web pages places a heavy load on the server, resulting in potential performance issues and delayed authentication Second, the crawler generates a fake "page not found" error occurs on some links, even if manual verification confirms that these connections return a status code of 200. This difference caused errors in the verification process and destroys its effectiveness and reliability.

 

In summary, the problem statement:

  1. Developing a crawler capable of efficiently traversing through a large volume of links across multiple webpages.
  2. Ensuring accurate identification of "page not found" errors while minimizing false positives.
  3. Mitigating the server load caused by the verification process to maintain performance and reliability.

 

Proposed Solution:

 

  1. Developed a crawler which can handle large volumes of links across multiple webpages efficiently. Utilize asynchronous programming techniques and concurrency to parallelize the crawling process, minimizing the time and resources required for verification

    Cheerio library for HTML parsing.

fetch function from node-fetch module for making HTTP request

JSON file – country/language combination

delay - utility function to introduce delays in asynchronous operations.

 

Main Function: verify404
Function verifies if links on a website return a 404 error or not.

  • Accepts a locator (CSS selector), a base URL,
  • Process batches of URLs from the country and language list, checks each URL for broken links, and writes the results to files.
  • Function handles error handling to deal with network errors and other exceptions.
  • It writes both broken links and all links to separate text files.

 

Utility Function: processBatch

  • This function processes a batch of URLs
  • It fetches the HTML content of each URL, extracts links using the provided CSS selector, and checks each link for validity.
  • It includes error handling for fetching HTML content and checking link validity

 

Utility Function: isLinkBroken

  • This function checks if a given link returns a 404 error.
  • It fetches the URL and checks the HTTP response status code.
  • It introduces a delay between requests to avoid rate-limiting or overwhelming the server.

 

Execution Logic:

  • The code iterates over an array of locator objects, each containing a CSS selector and output file name.
  • It calls the verify404 function for each locator object, waits for a specified delay between iterations, and measures execution time.

 

Output:

  • The script writes the results (both broken links and all links) to text files.
  • It provides console logs for progress updates and error messages.

 

Overall, this script automates the process of checking for broken links on a website, handles network requests and parsing HTML, and writes the results to files for further analysis. It's designed to be flexible and configurable by providing options for specifying locators, delays, and output file names.

 

AI Integration Analysis:
 

AI-based web scraping techniques that can be used  to automatically locate and extract links from web pages. Algorithms could be used to analyze error messages returned by the server when a broken link is encountered.

Userlevel 7
Badge +2

🎉 Congratulations to Shal! 🎉

We're excited to announce @Shal as the winner of the AI Challenge by @sidharth shukla! The solution impressed us all with its exceptional quality and insightful analysis.

Our team and Sidharth reviewed all the submissions, and it wasn't an easy choice to define a winner - every submission was great. We sincerely thank all participants for their outstanding contributions!

Let's celebrate Shal's remarkable achievement together!

 

Reply