top of page

Want to generate your own video summary in seconds?

Insights from a Software Test Engineer: Sanju Kumbar's Journey in Testing and Java Programming

Explore Sanju Kumbar's experiences as a software test engineer, his methodologies in Agile testing, and insights into Java programming and automation testing with Selenium.

Video Summary

In a recent mock interview, Sanju Kumbar, a software test engineer hailing from Karnataka, shared insights into his journey and methodologies in software testing. Graduating in 2014 from AR Government Engineering College, he furthered his education at AR Institute of Technology in Bangalore. With three years of hands-on experience in both manual and automation testing using Selenium, Sanju detailed his structured approach to testing, which is firmly rooted in Agile methodology.

Sanju's process begins with active participation in Sprint meetings alongside the Scrum Master, developers, and clients. These meetings are crucial for grasping Sprint planning and user stories. He meticulously prepares test scenarios and test cases, which he reviews with his team lead before executing them post-build release. Emphasizing the significance of quality assurance, Sanju noted that thorough testing is essential to prevent bugs from making their way into the final product. He typically documents test cases in Excel, referencing user stories for detailed functionality insights. To ensure comprehensive coverage, he utilizes a Requirement Clarification Note (RCM) to track any missing functionalities, complemented by a Traceability Matrix.

Before executing any test cases, Sanju waits for the build release and conducts peer reviews. If he encounters a bug, he promptly logs it in JIRA, ensuring to check it multiple times for reproducibility and gathering all necessary information before reporting. In instances of disagreement with developers regarding a bug, he takes the initiative to clarify doubts and examines related functionalities to resolve any conflicts. The conversation highlighted the critical communication dynamics within a software development team, particularly the roles of team leads, developers, QA testers, and product owners. Clear communication with the product owner is vital, as they define features based on customer requirements.

Key concepts discussed included the 'priority' and 'severity' of bugs. Priority indicates how urgently a bug needs fixing, while severity reflects its impact on functionality. For instance, a logo color mismatch might be classified as high priority but low severity, as it does not obstruct other functionalities. Conversely, a rare application crash is categorized as high severity due to its potential adverse effect on user experience, yet it may be low priority if it does not impede testing.

The conversation also delved into defect resolution, where developers may accept, reject, or categorize reported bugs. Additionally, the distinctions between epics, stories, and tasks were clarified: an epic represents a large requirement, a story is a smaller functional requirement, and tasks are specific actions needed to complete a story. The responsibilities of a QA tester encompass analyzing requirements, writing and reviewing test cases, executing tests, and automating them, all of which are planned during Sprint meetings.

Sanju elaborated on key aspects of Agile methodologies, particularly focusing on Sprint meetings, story points, and Scrum boards. During task creation, estimations in hours or days are provided, which are essential for effective planning. The Sprint review meeting, held after a Sprint's completion, serves to discuss the backlog and progress on tasks. Story points are utilized for rough estimations of tasks, while the Scrum board acts as a dashboard to track the status of tasks through various stages: planned, to-do, in progress, developed, tested, and completed.

The discussion then transitioned to Java programming, where Sanju rated his Java skills as 6.5 out of 10. He touched upon key Java concepts such as string comparison using the 'equals' method, method overloading and overriding, and the use of the 'final' keyword. Overloading allows multiple methods with the same name but different parameters, while overriding involves redefining a method in a child class. The 'final' keyword secures variables, methods, and classes from being modified or inherited.

As the conversation progressed, Sanju was asked to write a simple Java program to reverse a string. He explained the logic of using a for loop to start from the last character and concatenate it to a new string. He also mentioned an alternative method using StringBuffer, which features a built-in reverse method. The discussion then shifted to arrays, where he outlined a high-level logic for summing elements by iterating through each element and accumulating the total. He encouraged the listener to refer to their Java programming playlist for detailed examples.

The conversation further explored Java collections, identifying types such as List, Set, and Queue. Sanju explained that collections are essential for storing multiple values in a single entity, accommodating both primitive types (like integers and strings) and objects. He clarified the differences between List and Set, noting that Lists allow duplicates and maintain insertion order, while Sets do not permit duplicates and do not maintain order.

Sanju elaborated on how to extract elements from a List using the get method, which requires an index, while Sets do not support direct access to elements by index due to their unordered nature. To retrieve an element from a Set, one must convert it to a List first.

The conversation then transitioned to automation testing with Selenium, where Sanju listed various locators such as ID, class name, link text, and XPath. He explained the difference between link text and partial link text, highlighting that the former requires the full text of the link, while the latter allows for a substring match. The discussion concluded with a brief mention of XPath types, indicating that there are absolute and relative XPath expressions. Absolute XPath starts from the root node and traverses through every node, making it lengthy and prone to breakage if the web structure changes. In contrast, relative XPath targets specific elements directly using attributes, making it more stable and adaptable to changes.

Sanju provided an example involving a button that changes its ID from 'start' to 'stop' upon clicking, suggesting the use of the 'contains' method to create a dynamic XPath that can match both states by checking the common starting characters. The conversation also covered Selenium weights, explaining the difference between implicit and explicit weights. Implicit weight applies globally to all elements until the driver is closed, while explicit weight is specific to individual elements based on conditions. Methods for capturing text and attributes from web elements were discussed, including 'getText' and 'getAttribute'. Additionally, the handling of dropdowns was explained, emphasizing the use of the 'Select' class to manage options.

Finally, the topic of assertions in testing was briefly mentioned, indicating that there are two types, though details were not provided. The conversation revolved around the role of the interviewee in their framework, which includes writing and executing test scripts, and generating reports using Extent Reports and HTML formats. Sanju mentioned utilizing a Page Object Model and a Data-Driven Framework but acknowledged a lack of knowledge about creating reusable components. The purpose of a testing framework was highlighted as ensuring reusability and maintainability of code, with an emphasis on organizing files and classes effectively. Challenges faced during automation scripting included handling exceptions and finding elements, which sometimes necessitated try-catch blocks. The interviewer advised Sanju, who has over three years of experience, to enhance his programming skills, particularly in Java and Selenium, and to prepare for practical questions related to automation frameworks and testing methodologies. The interview concluded with encouragement for further preparation for future interviews.

Click on any timestamp in the keypoints section to jump directly to that moment in the video. Enhance your viewing experience with seamless navigation. Enjoy!

Keypoints

00:00:02

Mock Interview Setup

The mock interview begins with the interviewer welcoming Sanju and explaining that the session will be recorded for YouTube. Sanju is reassured that it's okay to skip questions if he doesn't know the answers.

Keypoint ads

00:00:39

Sanju's Background

Sanju Kumbar introduces himself as being from Karnataka. He graduated in 2014 from Government Engineering College in Hari and completed his postgraduation at AR Institute of Technology in Bangalore. He has three years of experience as a software test engineer.

Keypoint ads

00:01:31

Testing Process Explanation

Sanju describes his testing process, which follows the Agile methodology. He participates in Sprint meetings with the Scrum Master, developers, and clients to understand Sprint planning. User stories are assigned by the team lead, and Sanju prepares test scenarios and test cases, which are reviewed with the team lead before testing begins.

Keypoint ads

00:02:39

Bug Tracking and Regression Testing

After executing test cases, Sanju logs any defects found in JIRA. If developers fix the bugs, he conducts regression testing. If the bugs are not fixed, he reopens them. Defects identified during Sprint meetings are tracked for the upcoming Sprint.

Keypoint ads

00:03:06

Purpose of Software Testing

Sanju emphasizes that the main purpose of software testing is to ensure the quality of the software before release. He explains that releasing software with numerous bugs can lead to customer dissatisfaction, hence thorough testing is essential to deliver a quality product.

Keypoint ads

00:03:52

Test Case Development

Sanju explains that he writes test cases in Excel, starting with test scenarios followed by detailed test steps. He highlights the importance of validating bugs and ensuring comprehensive coverage in the test cases.

Keypoint ads

00:04:24

Input for Test Cases

When asked about the prerequisites for writing test cases, Sanju mentions that user stories are crucial. He states that understanding user stories, which contain all application details, is essential for developing effective test scenarios and cases.

Keypoint ads

00:05:31

Test Case Coverage

The discussion begins with a focus on ensuring that all test cases cover the necessary requirements and functionalities outlined in user stories. The speaker mentions the use of Requirement Clarification Notes (RCM) to identify any missing elements in the application, emphasizing the importance of thorough documentation and review during the test case preparation phase.

Keypoint ads

00:06:49

Traceability Matrix

The conversation shifts to the Traceability Matrix, which serves as a mapping tool to ensure that all test scenarios are accounted for in the test cases. This matrix provides clarity on whether all requirements are covered, reinforcing the need for meticulous tracking of test cases against user stories.

Keypoint ads

00:07:45

Test Execution Process

Before executing test cases, the speaker outlines the necessary steps, including waiting for a build release from developers. They clarify that execution does not commence immediately upon test case creation; instead, it follows a structured process that includes team reviews and approvals to ensure readiness.

Keypoint ads

00:08:37

Review and Approval

The importance of review and approval processes is highlighted, with the speaker detailing that test cases undergo peer reviews and manager approvals before execution. This multi-tiered review process ensures that all test cases are validated and meet the required standards.

Keypoint ads

00:09:36

Bug Reporting Process

Upon discovering a bug during test execution, the speaker explains the protocol for reporting it. They mention updating the bug status in the tracking tool (Jira) and assigning it to the relevant developer or team lead. The speaker emphasizes the need to verify the bug multiple times before reporting, ensuring accuracy in the defect identification process.

Keypoint ads

00:10:48

Bug Reporting Process

The speaker emphasizes the importance of thoroughly checking various aspects before reporting a bug, including environmental factors and browser compatibility. They recommend checking the issue at least three times across different platforms and machines to ensure reproducibility. Once confirmed, it's crucial to consolidate all relevant information, such as log files and screenshots, before reporting the bug to the developer.

Keypoint ads

00:11:23

Developer Response

After reporting a bug, if the developer does not accept it as a bug, the speaker suggests that the developer will investigate the issue further. If the developer claims it is not reproducible in their environment, a conflict arises, especially if the tester believes it is a defect. The speaker highlights the need for clarification and communication among team members to resolve such conflicts.

Keypoint ads

00:12:16

Communication with Team

In situations of conflict regarding bug acceptance, the speaker advises contacting team leads, scrum masters, and product owners. They stress the importance of discussing the issue with the product owner, who has a comprehensive understanding of the application's functionality and can provide a definitive judgment on whether it constitutes a bug.

Keypoint ads

00:13:34

Priority vs. Severity

The speaker explains the concepts of priority and severity in bug tracking. Priority refers to the urgency of addressing a bug based on its impact on business services, while severity relates to the seriousness of the defect and how soon it needs to be resolved. They clarify that priority is about timing, whereas severity concerns the functionality and importance of the feature to the customer.

Keypoint ads

00:15:20

Example Scenario

In a scenario involving a logo with a color discrepancy or a spelling mistake, the speaker discusses how to assign priority and severity. They suggest that such a bug would receive medium priority since it does not critically affect functionality, but it still needs to be addressed. The speaker prompts further discussion on how to evaluate the severity of this particular issue.

Keypoint ads

00:16:11

Severity and Priority

The discussion revolves around the classification of issues based on severity and priority. The speaker argues that a logo issue, despite being visible on the homepage, should be classified as low severity because it does not block other functionalities. However, the importance of the logo from a customer perspective raises its priority, suggesting that it should be addressed promptly. The speaker emphasizes that while the logo's color and spelling mistakes are significant, they do not impede the overall testing process.

Keypoint ads

00:17:36

Application Crash Scenario

A scenario is presented where an application crashes on a specific page under rare conditions. The speaker contemplates the severity and priority of this issue, initially suggesting it could be low priority since it does not affect other functionalities. However, they acknowledge that if the crash occurs in a customer environment, it could have a significant impact, thus warranting high severity. The distinction is made that while the crash is severe, it may not need immediate attention if other functionalities remain unaffected.

Keypoint ads

00:20:07

Defect Resolution Process

The conversation shifts to the defect resolution process, where the speaker explains that upon reporting a defect, developers may accept or reject it based on their assessment. They may categorize the defect as a bug, enhancement, or even a duplicate. The speaker highlights that the developer's feedback can vary, and they may schedule the fix for a future release or decide not to address it at all. This reflects the complexities involved in defect management and the varying perspectives between testers and developers.

Keypoint ads

00:21:16

Resolution Types

The discussion begins with the developer explaining the concept of resolution types, which are categorized into epic, story, and task. An epic is defined as a collection of user stories, representing a larger requirement that cannot be tested all at once, necessitating its division into smaller user stories.

Keypoint ads

00:21:33

Epic vs Story vs Task

The developer clarifies the differences between an epic, a story, and a task. An epic encompasses multiple user stories, while a story focuses on a single user requirement. Tasks are the specific actions or activities derived from a user story, which can include low-level requirements and customer needs.

Keypoint ads

00:23:20

Testing Tasks

As a QA tester, upon receiving a user story, one must take ownership and analyze the requirements thoroughly. The tasks involved in testing include writing and reviewing test cases, executing them on the build, and automating those test cases. These tasks are created during Sprint planning meetings, where estimations regarding the time required for completion are also provided.

Keypoint ads

00:25:21

Sprint Review Meeting

The conversation shifts to Sprint meetings, specifically the Sprint review meeting, which occurs after the completion of a Sprint. During this meeting, the team discusses the Sprint backlogs, evaluates the number of bugs fixed, and reviews the scenarios addressed in the previous Sprint to plan for the upcoming one.

Keypoint ads

00:26:13

Story Points

The developer introduces the concept of story points, which serve as a rough estimation of the effort required for Sprint planning. This estimation helps in assessing the workload and complexity of the tasks involved in the Sprint.

Keypoint ads

00:26:19

Scrum Board Overview

The discussion begins with an explanation of the Scrum board, which is essential for tracking project progress. It is emphasized that every story in Scrum is estimated in hours and represented in story points. The Scrum board serves as a dashboard where developers, testers, Scrum Masters, and project owners can visualize the status of various tasks, including epics and stories planned for the sprint.

Keypoint ads

00:27:12

Tracking Story Status

The Scrum board allows teams to track the status of stories through various stages: planned, to-do, in progress, developed, tested, and completed. Each story has specific tasks assigned to both developers and testers, and until all tasks are completed, the story cannot be marked as completed. This tracking ensures that everyone is aware of the current status of each story.

Keypoint ads

00:28:39

Java Programming Self-Assessment

Transitioning to programming, the speaker asks for a self-assessment rating on Java programming skills. The individual rates themselves at 6.5 out of 10, indicating a moderate level of confidence in their Java abilities.

Keypoint ads

00:29:09

String Comparison in Java

The conversation shifts to comparing strings in Java. The speaker explains that to compare two strings, one can use the 'equals' method, which checks for equality while considering case sensitivity. If case insensitivity is required, the 'equalsIgnoreCase' method can be utilized. This highlights the importance of understanding string methods in Java.

Keypoint ads

00:30:58

Method Overloading in Java

The discussion includes the concept of method overloading in Java, where the same method name can be used with different parameters. The individual confirms their understanding of this concept and acknowledges that it is possible to overload the main method in Java.

Keypoint ads

00:31:23

Method Overriding in Java

The conversation briefly touches on method overriding, which involves redefining a method in a subclass that already exists in its superclass. This concept is crucial for understanding polymorphism in Java.

Keypoint ads

00:31:26

Method Overloading vs Overriding

The discussion begins with a clarification of method overloading and overriding in programming. Overloading occurs when multiple methods share the same name but differ in parameters or data types, allowing for different implementations, such as adding two or three numbers. In contrast, overriding involves redefining a method in a child class that already exists in a parent class, maintaining the same method signature but altering its implementation. Overloading can occur within a single class or across multiple classes, while overriding is strictly tied to inheritance, requiring at least one parent and one child class.

Keypoint ads

00:33:36

Final Keyword in Java

The conversation shifts to the 'final' keyword in Java, which serves a security purpose. When a variable is declared as final, its value becomes constant and cannot be changed, regardless of the method context. If a method is marked as final, it cannot be overridden in any child class, ensuring that its implementation remains intact. Similarly, a final class cannot be inherited, preventing any subclassing. This use of the final keyword is emphasized as a means to maintain control over variable values, method behaviors, and class structures.

Keypoint ads

00:36:16

Final Keyword Usage

The discussion begins with the explanation of the 'final' keyword in programming, indicating that a class marked as final cannot be extended or inherited by another class, thus ensuring its immutability.

Keypoint ads

00:36:31

String Reversal Program

The speaker prompts the participant to write a simple program to reverse a string, specifically using 'welcome' as the example string. The participant is encouraged to use any text editor or IDE to write the code.

Keypoint ads

00:38:07

For Loop Logic

The participant explains their approach to reversing the string using a for loop. They describe starting from the first character and iterating through the string's length, storing characters in a variable to build the reversed string. The speaker emphasizes the importance of using a semicolon in the for loop syntax.

Keypoint ads

00:40:25

Alternative String Reversal Method

The participant mentions an alternative method for reversing a string using the StringBuffer class, which has a built-in reverse method, simplifying the process of string reversal.

Keypoint ads

00:40:40

Array Sum Program

The speaker challenges the participant to write a program that calculates the sum of an array containing five elements. The participant is encouraged to choose any five numbers, and the speaker offers guidance on the logic needed to sum the array elements, suggesting the use of a loop to iterate through the values.

Keypoint ads

00:42:21

Loop Logic

The speaker explains a high-level logic for reading individual values from an array. They describe the process of extracting values using an index in a loop, adding each value to a temporary variable, and repeating this until all values are processed. The final result is stored in a variable, which contains the total sum of the values.

Keypoint ads

00:43:11

Java Collections Overview

The discussion shifts to Java collections, where the speaker is asked to name different types. They mention three primary types: List, Set, and Queue, highlighting that collections are used to store multiple values in a single entity. The speaker emphasizes that collections can hold both primitive types (like integers and strings) and objects (like instances of employee or animal classes).

Keypoint ads

00:44:59

List vs Set

The speaker elaborates on the differences between List and Set collections. They clarify that Lists allow for both insertion and deletion, and can contain duplicate values, while Sets do not allow duplicates and do not maintain insertion order. The speaker also explains that in Lists, elements can be accessed by their index using the 'get' method, whereas Sets do not support this method due to the lack of index maintenance.

Keypoint ads

00:46:57

Element Extraction

When discussing how to extract specific elements from collections, the speaker notes that in a List, one can retrieve an element by its index using the 'get' method. However, in a Set, this is not possible as Sets do not have a 'get' method, reflecting the unordered nature of Set collections. The speaker reiterates that Lists maintain the order of insertion, allowing for indexed access.

Keypoint ads

00:47:29

Set vs List

The speaker explains the difference between list and set collections in programming. While lists maintain the order of elements and allow for index-based access, sets do not preserve insertion order and lack an index concept. To extract a specific element from a set, one must convert it back into a list.

Keypoint ads

00:48:01

Selenium Locators

The discussion shifts to automation scripts, specifically focusing on Selenium locators. The speaker lists various types of locators used in their project, including ID, class ID, name, class name, link text, partial link text, tag name, XPath, and CSS selectors. They clarify the difference between link text and partial link text, noting that link text requires the full string of the element, while partial link text allows for a substring.

Keypoint ads

00:49:56

XPath Types

The speaker elaborates on the two types of XPath: absolute and relative. Absolute XPath starts from the root node and traverses through every node to reach the target element, making it lengthy and prone to breakage if the structure changes. In contrast, relative XPath begins from a specified node and directly targets the desired element based on attributes, making it more stable and efficient for dynamic web applications.

Keypoint ads

00:52:27

Preference for Relative XPath

The speaker expresses a clear preference for using relative XPath over absolute XPath due to its resilience against changes in the web application's structure. They explain that since absolute XPath is lengthy and dependent on every tag, any modification by developers can lead to instability. Relative XPath, however, can adapt to changes without being affected, making it the preferred choice in most scenarios.

Keypoint ads

00:52:35

Dynamic Button ID

The discussion begins with the explanation of a button's ID in HTML, initially set to 'start'. Upon clicking, the button's ID changes to 'stop'. This dynamic change in the button's attribute is crucial for the functionality being discussed.

Keypoint ads

00:53:00

XPath for Dynamic IDs

The speaker emphasizes the need to write a single XPath that can match the button element regardless of its changing ID. The challenge lies in creating an XPath that can handle both 'start' and 'stop' states effectively.

Keypoint ads

00:54:45

Using Contains Method

The conversation shifts to the use of the 'contains' method in XPath. The speaker suggests that by using the first two characters 'St', the XPath can match both 'start' and 'stop', thus allowing for a more flexible identification of the button.

Keypoint ads

00:56:56

Alternative XPath Methods

The speaker inquires about alternative methods to identify the button without using 'contains' or 'starts-with'. The discussion reveals that multiple attributes can be specified in XPath using the 'or' operator, allowing for a match with either 'start' or 'stop'.

Keypoint ads

00:57:51

Dynamic XPath Writing

The session concludes with a summary of how to write a dynamic XPath that accommodates changing attributes, highlighting the importance of flexibility in automation scripts.

Keypoint ads

00:57:55

Selenium Weights

The speaker transitions to discussing weight statements in Selenium, specifically the differences between implicit and explicit weights. Implicit weights apply to all test cases from the moment the driver is created until it is closed, while explicit weights are used for specific elements.

Keypoint ads

00:58:57

Weight Types

The discussion begins with the distinction between implicit and explicit weights. Implicit weight is available for all statements, while explicit weight is specific to individual elements, determined by certain conditions.

Keypoint ads

00:59:10

Capturing Text

To capture text from a web element, the 'get text' method is utilized. By calling 'web element.get text', one can retrieve the text value of the element, which can then be compared to an expected value for validation.

Keypoint ads

01:00:20

Getting Attributes

To retrieve attribute values from a web element, the 'get attribute' method is employed. For instance, to get the value of an ID or name attribute, one would use 'web element.get attribute('ID')' or 'web element.get attribute('name')'.

Keypoint ads

01:01:16

Element Visibility

To check if an element, such as a logo, is displayed on a webpage, the 'is displayed' method is used. This method returns true if the element is present and false if it is not.

Keypoint ads

01:01:50

Dropdown Handling

Handling dropdowns involves using the 'select' class. To select a country from a dropdown containing multiple options, one must first pass the dropdown as a web element into the 'select' class. Methods like 'get options', 'get visible text', and 'get index' can then be used to interact with the dropdown options.

Keypoint ads

01:03:10

Assertions

Assertions are crucial for validating elements in test cases. They allow for comparisons between expected and actual values, ensuring that the elements behave as intended. There are two main types of assertions, which serve the purpose of verifying the correctness of elements.

Keypoint ads

01:04:10

Hard vs Soft Assertions

The discussion begins with a clarification of hard and soft assertions. Hard assertions throw an exception immediately if an expected element is not found, halting further execution. In contrast, soft assertions allow the test to continue even if an expected element is missing, thus not throwing an exception. This distinction is crucial for understanding how assertions function in testing frameworks.

Keypoint ads

01:05:54

Role in Framework

The speaker elaborates on their role in a testing framework, which includes writing and executing test scripts, as well as comparing expected and actual results. They mention using the Page Object Model combined with a data-driven framework, indicating a structured approach to test automation.

Keypoint ads

01:06:35

Reporting Tools

In terms of reporting, the speaker states that they generated Extent Reports, which are HTML-based, providing a visual representation of test results. This suggests a focus on clear and accessible reporting in their testing process.

Keypoint ads

01:07:03

Reusable Components

When asked about reusable components, the speaker admits to a lack of knowledge but understands that reusable methods are essential for efficiency. They emphasize that the main purpose of creating a framework is to enhance reusability and maintainability, allowing for better organization of various files such as page object classes, utility scripts, and reports.

Keypoint ads

01:08:53

Framework Purpose

The speaker explains that the framework's design focuses on reusability and maintainability. By creating page object classes, they can manage page-related elements in one location, which can then be reused across multiple test cases. This approach minimizes redundancy and simplifies the identification of elements.

Keypoint ads

01:09:02

Challenges in Automation

The speaker acknowledges facing challenges while writing automation scripts, particularly encountering exceptions during execution. They indicate that these issues can disrupt the testing process, highlighting the complexities involved in automation.

Keypoint ads

01:09:18

Interview Feedback

The interviewer provided feedback on the candidate's performance, noting that while the candidate answered questions related to manual testing well, there was a need for improvement in Java and automation skills. With over three years of experience, the candidate is expected to demonstrate a deeper understanding and ability to write original logic rather than relying on memorized code. The interviewer emphasized the importance of preparing for a variety of programming problems, not just the commonly asked ones, to enhance problem-solving skills.

Keypoint ads

01:10:54

Preparation Recommendations

The interviewer advised the candidate to prepare thoroughly for practical questions, especially in Selenium, highlighting the importance of understanding frameworks, writing automation scripts, and utilizing TestNG for parallel testing. The candidate was encouraged to learn about maintaining page object classes and to enhance their overall knowledge in automation testing, as their experience level positions them as a senior engineer.

Keypoint ads

01:11:38

Next Steps

The interviewer concluded the session by thanking the candidate for attending the interview and mentioned that the interview feedback would be uploaded soon. They expressed the possibility of conducting another mock interview in the near future, encouraging the candidate to prepare further.

Keypoint ads

Did you like this Youtube video summary? 🚀

Try it for FREE!

bottom of page