profile-pic
Vetted Talent

Sourabh Kumar Sharma

Vetted Talent

06 years of experience in Software Testing Field and Worked as Manual, Automation, Performance and API Tester.

Worked at all phases of Software Testing life cycle. Well versed with Test Plan, Test case design, Test Execution, Defect Management, Documentation, and closure with cross-cultural teams.

Proficient with Agile as well as Water Fall methodology and active involvement in Agile ceremonies (Sprint Planning, Sprint Backlog Grooming, Sprint Review, Sprint Retrospective, etc.)

Active Contribution in setting up the Test Environment on Azure.

Working knowledge of various new and emerging technologies like Postman, (API Testing), Telerik (Automation & Performance Testing). Java with Selenium (Automation Testing), JavaScript with Playwright (Automation).

Strong Experience with Object Oriented Programming Concepts (OOPS).

Strong Experience in Manual Testing of Web Based Application with a focus on Functional, Smoke, Sanity and Regression Testing

Conducting Cross Browser Testing using Sauce Lab for the software product under varying conditions and analysing the behaviour of the system.

Conducting Accessibility testing using NVDA tool under varying conditions and analysing the behaviour of the system.

A team player with strong Communication, Leadership, Organizational & Personal Relationship skills.

  • Role

    Senior QA Engineer

  • Years of Experience

    6 years

Skillsets

  • Agile
  • Automation Testing
  • Manual Testing
  • API Testing
  • Performance Testing
  • Cross Browser Testing
  • Water fall
  • Accessibility Testing
  • Cross-cultural teams

Vetted For

8Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Quality Assurance Engineer (Hybrid - Gurugram)AI Screening
  • 52%
    icon-arrow-down
  • Skills assessed :Excellent Communication Skills, executing test cases, Manual Testing, Mobile Apps Testing, Python, QA Automation, test scenarios, writing test scripts
  • Score: 47/90

Professional Summary

6Years
  • Apr, 2022 - Present3 yr 8 months

    Senior Test Engineer

    Coforge Limited
  • Dec, 2019 - Apr, 20222 yr 4 months

    Senior Test Engineer

    NTT Data Services Pvt. Ltd.
  • Nov, 2018 - Nov, 20191 yr

    Analyst

    Optum Global Solutions Pvt. Ltd
  • Aug, 2017 - Nov, 20181 yr 3 months

    Process Associate

    EXL Services Pvt Ltd

Applications & Tools Known

  • icon-tool

    Test Plan

  • icon-tool

    Defect Management

  • icon-tool

    Azure

  • icon-tool

    Postman

  • icon-tool

    NVDA

  • icon-tool

    Sauce Lab

  • icon-tool

    SQL Server Management Studio

Work History

6Years

Senior Test Engineer

Coforge Limited
Apr, 2022 - Present3 yr 8 months
    Involved with all phases of Software Testing life cycle including Test Plan, Test Case Design, Test Execution, Defect Management, and Documentation.

Senior Test Engineer

NTT Data Services Pvt. Ltd.
Dec, 2019 - Apr, 20222 yr 4 months
    Worked as a Senior Test Engineer on-site through NLB Services Pvt. Ltd. payroll.

Analyst

Optum Global Solutions Pvt. Ltd
Nov, 2018 - Nov, 20191 yr
    Performed various testing activities and managed a team.

Process Associate

EXL Services Pvt Ltd
Aug, 2017 - Nov, 20181 yr 3 months
    Involved in Manual Testing and SOP Documentation.

Achievements

  • Billion Day Coforge Celebration Recognition Award
  • E-Bravo appreciations from Client
  • Thank you note from Delivery Head
  • Verbal Appreciations from client in every Project

Major Projects

4Projects

Coles Supermarket

Jun, 2023 - Present2 yr 6 months
    Testing related to ensuring the quality of Coles's retail operations.

CAE - Merlot Aero

Coforge Limited
May, 2022 - Jun, 20231 yr 1 month
    Testing on a Cloud based Application that provides Aviation Operations and Crew Management Solutions.

ACE

Nov, 2018 - Mar, 20223 yr 4 months
    Testing on a cloud based platform, ACE, for managing insurance claims in the healthcare sector.

Wolters Kluwer

Aug, 2017 - Nov, 20181 yr 3 months
    Involved in enhancing the knowledge management system for the legal sector.

Education

  • MBA (IT)

    Subharti University
  • B.Com

    CCS University (2015)
  • 12th

    UP Board Allahabad (2012)
  • 10th

    UP Board Allahabad (2010)

Certifications

  • Az-900 azure fundamental

  • Leadership skills from iim ahmedabad

Interests

  • Watching Movies
  • AI-interview Questions & Answers

    Uh, could you help Oh, it's a start. Uh, Hi. My name is Saurab Kumar Sarma, and I'm a senior software testing engineer with having around 6 year of experience in manual API and automation testing. I have worked in multiple domains, like airline aviation, uh, supermarket, retail supermarket, and health care and legal as well. So my current recent project is related to retail. Uh, the client name is Kohl's Supermarket, uh, which is a very large retail supermarket based in Australia, and it has a huge potential to list out of, uh, multiple their own product to share to, uh, complete the daily need of Australian, uh, like milk, chocolate, um, beverages, uh, liquor, everything. And they also have ability to upload the other supplier's product who sell their customer, Like in Amazon in India, Walmart in Australia. So it's like a calls in Australia. So, uh, my rules and responsibility are here. Uh, here we use methodology where we, uh, have the board to check the status of this print, how many tickets are about to start, how many tickets are available in this print, and so on. And we have attended, uh, daily stand up meeting, uh, daily sprint, uh, I mean, not daily. Uh, we have attended the daily stand up meetings, sprint review, sprint planning, uh, retrospective, and problem solving meeting as well. So, uh, in in our team, they are, uh, very, very small squares. Uh, when I'm saying a square, it's like a it's a group of, uh, 3 to 4 QA. Uh, okay. And every square is responsible to perform a specific task. So my Square name is Digital Venture, and, uh, we are responsible to provide advertisement on the Google supermarket website. So we take we take care, uh, to reflect the banner on every page's, uh, boosted products, single tile product association, content association as well. So we have used third party software, Citrus, and, uh, Adobe experience manager to create a campaign, and then the campaign will reflect on the cold supermarket. So this is the, uh, some overview. So, uh, here we come to the roles and responsibilities. So, uh, first, my, uh, my 1st roles and responsibility to assign task to available queue in my team and provide walkthrough, uh, so that they can understand what they need to, uh, test. Okay? And if they have any concerns, I'm responsible, uh, for that as well. And then, uh, I also responsible to provide, uh, Katie's sessions for application overview to the new join in our team. And, uh, also, uh, I have attended a list stand up uh, meeting with my client. I'm overlapping my time with the Australia time, and I gave, uh, the status, uh, for my work and as well as my offshore team. And then I'll connect with my offshore team to, uh, to get their status as well. Which ticket they are working? What is the concern and everything? So, uh, okay. 2 minutes left. So I'll come to my, uh, roles and response pretty quickly. Uh, so we received the requirement review

    Okay. So, uh, we we went and analyze them and we give a walkthrough. Uh, I mean, we take a walkthrough from developer if it is any okay. Oh, sorry. Explain in terms of both manual automatic system, how we test an application response under peak load conditions. How would you test an application response under peak load condition? Okay. So, uh, the peak load condition is the, uh, application highest capability to, uh, handle the user base. So in terms of manual, what we do, we just try to explore the things on every module or every pages, uh, and let's, uh, check out the behavior or the react of the application, how it is performed, whether the some page is crashing or not or, uh, how much it will take times. So, like, the response time to open up open up page or, uh, to do some accents is, like, uh, 3 to 4 second. And if it will take more than that, then, yeah, we can identify this issue, uh, while doing the, uh, manual. And, uh, in automation, yeah, it's very easy in automation to test the peak load testing with codes. Uh, we execute the, uh, test cases, and, uh, we can check how much time, uh, every script or every share will take to run the every accent. So this is something that entails the, uh, application behavior and the reaction on peak load. And as well as, we also need to identify in peak load if the application is working fine on the peak load. So we also checked that how much, uh, duration of period it will go smoothly. It will working, uh, fine in how much, uh, duration of the next time. Uh, so I I mean, uh, if the everything is working fine. Yep. And then, uh, we try to boost some hard accents as well. Uh, so if I say hard accents, the the main or complex functionality of an application, Like, uh, in a retail application, the main and complex functionality is obviously providing the campaign or advertisements is based on revenue, and they look out and because they are, uh, multiple other third party tools also included in that. So we also need to, uh, figure out the integration, uh, timing as well. So that's why we test that critical or, uh, critical or crucial functionality of the application in the peak load to, uh, to check the timing, to to check the response timing, to check the behavior, or we compare that, uh, we compare that situation in our, uh, previous situation where we don't have the peak load. So that's how we, uh, have tested, uh, in manual and automation, and as well as we also identified, uh, on which pages, uh, page will try to case out. I mean, uh, not try. Page will start casing out and everything. We also, uh, ensure to check that. So this is something we have done. Okay. This is, uh, still 2. Uh, the response under okay. Yeah. This is, uh, this is all we we can do, and it it all depend on the different you know, like, uh, on which module or which type of application we are working. So it also based on the, uh, specific project. It's, uh, it's it it can vary upon on every project. So, uh, if I say in my, uh, previous project, so that was a a airline aviation, and, uh, it was a very project because, uh, at every x and there is a calculation time. If we miss a single minute or, uh, you can say, uh, seconds

    Okay. Okay. So question has been changed. Uh, how do you ensure the accuracy of test data for executing test cases, especially when testing complex business scenarios? Uh, okay. So we are ensuring test data. We're executing that. So, uh, we are getting the test data, how we are identified. Uh, we are picking the test data is good or not. Okay. Especially when testing complex business scenario. Okay. So, uh, this is something, uh, depend on the, uh, I mean, different different project. So as you can see, uh, if I just, uh, refer you my current version project is, here we are picking the test data, the the product which, uh, supplied by the supplier, uh, to push them on our front page. So we have the data available, and, uh, we are picking the data based on the every module. So if I, uh, give you the, uh, payment scenario, uh, so this is the most, uh, complex scenario. So in payment scenario, we use the, uh, different credit card with valid number and valid, uh, you know, CVV and valid, uh, expiry date as well. And then we, uh, use the boundary value analysis and, uh, we try to give the invalid, uh, figure as well. Okay. And, uh, I see your test cases. Uh, okay. Oh, how do I ensure? Okay. Here. Okay. So we are just checking. The test data is good. Uh, if it is covering all the requirement, the expectation we have. Okay. So, uh, if we need to test the functionality and we need to check the test data we have available, the test cases we have available, whether they are, uh, completing over all the scenario we expected or not. So this is something we need to, uh, identify it first. And, uh, because, you know, like, uh, if you are testing a payment page and then, uh, so here are so much of data. The address, uh, the m I mean, uh, the purchaser address, the credit card information, uh, whether the, uh, all products are Uh, if you have any any free option to have it empty nationality. So it's a specific

    Oh, great. Is my previous answer has already been recorded? I don't know. Okay? Uh, share a complex testing scenario automated and the outputs you used to validate the accuracy of automated test results. Uh, okay. So, uh, so far, uh, I have not written a script in a Chrome scratch to automate the recognition. I mean, to automate the test cases or the test scenario we have. But, yes, I have executed, uh, the test cases of framework already available. So I'll, uh, give you the answer from that experience. And, uh, so whenever we run the test execution, so we are, uh, first, we we try to debug. We try to run-in that debug mode so that we can check, uh, if it is verifying or validating everything, hit every thread or not. We are just clicking, uh, on next step to go on the next, uh, thread and then check whether it is applying or whether it is working, uh, good or not or if there's any assertion to validate something. So if it is checking that element or not. So this is something we, uh, used to we normally validate it every every line of code. And then from first to end, we'll do the same 1 by 1. And if there is any issue at the same time, then, uh, we we check that. So this is something we do while debugging. But unless I assume we are not debugging and if we run the, uh, test cases, so we validate the accuracy of automated test case result to add the assertions and the validations of after all. So if you think, uh, there is a complex scenario, we can add try and catch to check whether, uh, the the thread is failing or passing or not and putting the if and else condition as well if, uh, as well. But the main point is to to validate accuracies while adding the validations assertions in the test. This is the main point.

    Okay. When designing a high level system for QA automation, what design patterns would you consider and why? When designing a high level system for QA automation. So this is something like related to, uh, framework. Uh, because we normally don't design the application. We, uh, we normally design the framework. Yeah. Got it. Okay. So the, uh, design pattern, uh, we use the, uh, piece object model. I mean, this is the approach. It also a design pattern where we have a pages, uh, object folder in which we provide every page object. I mean, we we create, uh, piece object class for every pages available on the website, and then we put every element or the required element in that, uh, classes under the, uh, variables while using next path, name, ID, locators. Okay. Uh, and, uh, here we are using the other folders, the design pattern, in which, uh, we have if I give you an example of my project, so there is a project name, and then we have, uh, the pages folder. Under that, we have the all page object, uh, available. And then we have case text folder. Under that, we have, uh, multiple spread folder as well. Uh, so in every spread folder, there is a more folder. Uh, so like I said, my spec for is digital venture, and under the digital venture, there is a 2 folder as well. The 1 is recreation, another one is feature. So in the recreation, we have all the regression test cases available. Like, we have 15 to, uh, 5th 15 regression for every sprint. Whenever the sprint is released, we run that, like, uh, forward. And for feature test, there is a I mean, uh, test cases for every feat feature functionality. So this is something we have, uh, the folder. And, uh, if we go if we go out and, uh, the blue test folder, we have utility folder as well where we have the test data available if you need to put any any data. So, uh, we are just not manually adding down the data. We are speaking the data from them, uh, files so that we don't need to add the data. I mean, or edit their data in every skip or every test cases. And then the or Google and then we have reports. So under the reports, we have the, uh, skin sort or the video recording as well. And if you go under then, uh, then we have, uh, the configuration, uh, project configuration file. If you are using Playwright, then we have, uh, the config rotation and Playwright dot config rotation. And if you are using the, uh, Selenium, then we have and if it is based on Maven based project, then we have 2 dot x files. So this is something we have the design pattern. I don't know if there's any, uh, design name. So I don't know what the design name would be used because I'm not, uh, very handful in commission

    Okay. Uh, how would you structure your Python code? To ensure, how would you structure your Python code to ensure reusability and maintainability of your automated test escapes. So it's looking like, uh, for a specific Python code, Java or JavaScript code. Um, so I give you an example. So in my recent project, uh, I I'm, uh, got a, uh, like, a opportunity to write the test cases for one of my records and ticket. And, uh, the scope is, uh, categories. So in codes, we have 3 level of categories, level 1, level 2, and level 3. So there is a section of, uh, categories in which we have available all the categories in level 1. And once we click on level 1, then we reach out to level 2. So the another 2nd section will open of level 2. And under that, there are, uh, more than 5 to 10 categories as well. This This is more than just subcategories. And once you click on 2nd level and then the 3rd level also. So this is the last level available in our portal. So if you, uh, if you are writing a code okay, if you're writing a element, web element, I mean to say, uh, to write it. So what you need to do, uh, you need to just you you don't need to pick any name or any specific name. So what I did here, I just pick the, uh, complete, uh, section of 1st element and then use the text folder. So that, uh, whenever I need to pick the 1st level category, so there's a same element name, but in the parameter, uh, I provide the category name. So the category name should be I mean, the condition is the category name should be matched on the, uh, front end portal. So if you just miss out any spelling or any space, so it will not work. But if you provide a a similar name available on the portal, then it will click. Then it will go to the section and find out the name and, uh, the similar name format and then we click on that. So that's how I, uh, I mean, in level 1, we have, uh, 10 10 around 10, uh, you know, categories. In level 2, we have around 8 to 9, and then in level 3, we have 5 to 6. So if we overrule, uh, count, so there would be around more than 90, uh, elements could be there. But I I mean, read. I mean, I write the relevant in in that way. So I just need 3 variable of 1 for, uh, category level 1, 2nd for category level 2, and other 3rd for category level 3. So I just need to mention the category name category name every time and and I can hit any category available. So that's how we can reuse our code. And, uh, so and we can reuse our code. Uh, we we need to I I think the reusability is something we need to check, uh, how much I trace any available in that functionality. If we are doing any end to end function, so what is the sort of functionality we we are clicking again on again. So we can, uh, put that in our loop method or so we need to identify that what what is the function we are going to use again and again. In that basis, we can write our escape. Uh, so that we can reuse and we can improvise or we can reduce the code in our automation.

    Okay. In the following JavaScript snippet, determine why the function does not correctly update the tone to display a user's font profile. Identify the explain issue with the provided code. Okay. So we have a function on the display profile user. We have the parameter here. Let profile element. We have okay. Document dot get element by ID. Uh, in JavaScript, we, uh, get element. Okay. Let's push. Get element by ID? I think we use document dot I mean, paste dot locator. But, yeah, fine. Uh, dot get even by ID, we can use. Or, I mean, we normally use use to do in, uh, Selenium. I mean, it's object model. Yeah. But in JavaScript, we have a code in space dot locator, and then we provide locator name. Um, the okay. Yeah. Element by ID is also good. If user dot is logged in, then profile element dot inner text name as the user dot name is. Okay. Okay. It will add. And, uh, user.aise. Okay. As profile element.netaccess is close to, please log in. Okay. Example usage is a display user profile is logged in through name Alice is 30. Okay. So in the following JavaScript snippet, uh, determine why the function does not correctly update the com to display user profile, identify the expenditure with the provided code. Yeah. It is saying that if, uh, if, I'm in the code, if not, uh, go in the if condition if user is logged in. Okay. Function displays a functional, uh, new profile element. If user is logged in. And where's the function of user is logged in? Okay. Where is the function? Is it a function? Is it a variable A relevant? Okay. Because the conditions should be matched. User dot is logged in. Okay. Okay. Okay. Okay. So user wrote this login is true, then, yeah, I'm I'm just, uh, accepting that user is logged in. And then we go in the, uh, condition, and then here we have profile element dot inner text. We got the element dot inner text, which is user profile. We are providing here the name. I mean, username. We are providing here, which is alice is, uh, which is 30. So alice is 30. The year profile, we are user. Oh, I'm I'm not able to, uh, get

    Okay. This segment of Java code aims to apply the single turn design pattern. There seems to be a potential issue that could prevent it from working as a proper single turn. Can you verify the problem? I'm suggest to fix. Okay. So let me check what is happening here. Public class, we have class database connector, and then private static data's disconnected instance is close to null. Okay. We have valid disconnector method. Valid constructor. Okay. Yeah. It's a constructor. Then we have public static database. Yeah. Method. Get instance. Initialize. If instance goes to null, An instance goes to new database connector. Initialize the return instance network to connect to the database. Uh

    What approach do you use to evaluate the quality of your code? Okay. What approach do you use to evaluate the quality of your code when writing test? Automation and ensure it adheres to best practices. Uh, Yep. As I already, uh, said that I'm not good in code writing, but, yeah, I'm good in business. So the approach ever comes when you understand the business or the functionality. Okay. Uh, so here I am I can give the, uh, improve lines, improvement something. Okay. So uh, they used to value the quality of your code. When writing test automation. Uh, okay. Okay. So when we are writing it, uh, when, uh, I mean, we are automating the, uh, functionality or the web UI, then we are evaluating that, uh, the code should be reusable. I mean, if there is anything functionality which we need to, I think, which is coming again and again so we can put that in loop or we need to create a method in that manner, uh, even again, uh, a new method. I mean, we we should use a single you use that single method. Uh, like, I gave an example, uh, the category in earlier in my earlier questions, uh, in in my earlier answer. Okay. Uh, so, uh, we need to reduce the code and we need to check if there is any code, any, uh, method or anything, um, we are I mean, if it is not required, uh, so we need to reduce that. And if there are 2 math math 2 method available, like, if I give you an example, the one is to find the element. Okay? And second 1 is to click. So what we can do, we can, uh, put in a same method. I mean, find element and then click as well and then put enter. I mean, the the simple functionality, uh, like, uh, in in every accent, there is a precondition and end to end condition. So if end to end condition is the same, every time, no matter if you are on which page or if you are coming on, uh, different pages. If end to end is same, then we need to write a method in that way, uh, so that it can complete end to end automation, and then we can use that method. So this is something we can do and, uh, evaluate the quality of your code. Yeah. We are evaluating that via putting the comment line control dot log JavaScript and, uh, print statement in, um, Java. And we can validate. We, uh, it the line and then we can the error, uh, we can if you are validating something, we can, um, write the code to get the text value and then validate whether it is matching our expected condition or not. So here, so much practice we can use, uh, to evaluate the quality of our code. Uh, okay. But it depends on the scenario to

    Given the requirement to automate performance testing, what tools would you choose and how would you validate, uh, the reliability of performance details? Again, uh, given the requirement to automate performance testing. Okay. What tools would you choose, and how would you validate the reliability of performance results? Okay. Actually, I have, uh, not been a part of performance testing. Only once, I have used the tool in my, uh, 2nd last project where we where I worked with airline aviation, Malored Arrow, uh, the CA, uh, project. And there we, uh, use the tally correction to check the end to end functionality. So we are, uh, doing action. Uh, on that, we are creating a user database, and then we are putting that, uh, pilot data into the job. And then, uh, we are getting a flight and then we are putting that job into that flight. So there are some steps from our first to end. So what we, uh, used during that data rate, uh, we are validating it every x, uh, it every x how much time it will take on our earlier version. And then, uh, we updated the version, And then we also take the data. How much time it will take to complete the end to end and every line of action, and then we compare that. So this is something I did, but here, if you are just asking me, uh, what tools, so I would, uh, uh, refer the JMeter because JMeter is the good and, uh, here, we can provide or, uh, similar the user base in and we can put the iteration and the time, uh, laps as well. I mean, uh, like, we can give the 1,000 or 10,000 user base, and we we are also give the condition that, uh, they are able to click on an action on an function after 1 or 2 second delay, and then, uh, we we can put the condition to reiterate one time, 2 time, 10 time. So this is something we can do. Uh, so yeah. This is something I can, uh, provide you in

    Okay. Uh, describe your experience with software development life cycle manual and how they impact your process. Okay? That is something, uh, uh, okay. So first, SDLC stands for software development life cycle. It is a software life cycle in which, uh, we receive the requirement, and in time, we deliver the. So this first two last stays, there are multiple phase which cover, uh, the SDLC process. Okay. Uh, so and how the impact we have processed. Okay. So if this is, uh, in the 1st level, we received the requirement in form of PRS, and then our b will, uh, verify, analyze them and then they create a status based on them and then they will get their approval from the client. And once we are good, then UI or UX team will involve and they will create a layout and chart and the option functionality, how it looks like, how there is functionality, how, uh, are the third party tools of it. I mean, uh, is there any third party tools available? And how is the integration? How the request will go on, um, when when, uh, excellent, then how will it impact, and then how will, uh, get the expected data from where we can test the data. So every layout will done by that team. And then it comes to the development. So here, we are involved. So now ticket is available to the development with the, uh, required scenario. I'm just, uh, providing in um, in an, uh, v module or ASR way. So the developer has that ticket. We have that ticket as well. We know that developer is developing, uh, or working on their ticket. So in the meantime, we are writing the test cases. We are creating a test planning. Based on the test planning, we are writing the test scenarios. And for the test scenarios, we are adding the test cases in SITA. Uh, in in test cases, we are also adding the every positive and negative conditions as well as well as and we also, uh, uh, getting a test execution cycle, uh, for test execution. So now once the ticket is ready and comes in our pocket, then we change the ticket status to in processing, and we start test execution. So, uh, while doing test execution, we attach artifacts in terms of video screen recording. Whatever is, uh, best at that time of scenario. And then once we are good and everything is good, then we, uh, mention the comment like, hey. All test has been passed and all artifacts are test, uh, to the respective test text ticket. And then, uh, in in our process, we I'm also responsible to provide Voxel based on UAT. So we change the script as to in review and then schedule a meeting with the client product manager and our delivery lead as well. So, uh, and as per their availability, of course. And, uh, once we have the folks for the ISO case to the client, what the scenarios we have covered, how much we have, uh, I mean, uh, got that and, uh, how we have tested. I just did a quick revision on the test environment. And then once they are good, uh, they have no any concern. They feel like, yeah, I have covered everything. So then I can close that ticket. So once we are close that ticket, uh, ticket, we're ready to merge in the pre prod, uh, involvement. So this is the prior involvement of the production. So in pre prod, it again will, uh, maybe perform the allocation on pre prod and then, uh, once we are also good with the allocation, the code merge, everything is, uh, working fine, then we will update the report in the confidence page. And now the product is ready for the production. So once the product it it is available in the production. Okay? So STNC, uh, has a phases. In 1st phase, we we are receiving the