SDET III
ONE MOBIKWIK SYSTEMS LIMITEDSenior Quality Engineer
IRIS SOFTWARESoftware Test Engineer
FIS GLOBAL BUSINESS SOLUTIONSProgrammer Analyst
COGNIZANT TECHNOLOGY SOLUTIONSSelenium
RestAssured
Maven
TestNG
Intellij
Eclipse
UFT
Postman
SoapUI
Linux
Windows
Git
SVN
BitBucket
Rally
TFS
TestRail
Clever Tap
New Relic
Grafana
Charles Proxy
Android Studio
MySQL
Okay. Uh, so my name is Kajal, and I am working as a s d three in Moby Quick, uh, in Gurgaon location. I'm working in this particular organization from last 2.5 years. I have overall 8 plus years of work experience. Um, so my, uh, so my last company was Iris. And prior to that, I have worked in FIS and Cognizant. Uh, I have majorly worked in automation testing, uh, using Selenium plus Java language. And current and, also, when we talk about the back end API automation, I have worked in REST Assured plus Java based framework. Um, I have good experience in developing a framework from the very scratch. Um, in my current organization, my roles and responsibilities are to mentor the junior team members. Uh, currently, there are 3 QA which are who are working under me. And, uh, Yeah. So this is a brief intro of myself. Um, I'm looking for the opportunity where I can utilize all my skills and enhance my tech skills or maybe, um, uh, yeah, uh, from the leadership perspective as well.
Uh, what are the key elements you look for in a bug report from a QA perspective, and how do you okay. So, uh, whenever while doing the testing, uh, we raise bugs and we decide the severity on the prior and the priority of any bug. So if the severity of any bug is very high, so it it make, um, my feature to be blocked due to that issue because if it is severity is very high, it means it is kind of blocker to me. And, uh, priority, it totally depends. Like, uh, if it is high if my priority is high, so, uh, it'll also be a can be a blocker to send my feature to the production. So whenever there is a bug report from the QA perspective, I look for the priority and severity, these two key points key elements of any issue. And on the basis of their severity and priority, uh, we, uh, you know, prioritize the bug fixes. So if we have a very, uh, critical deliverables and there are some blocker issues which we have raised, so we will I'll prioritize whosoever the bug is high priority and high and the blocker for the release. So in this way, we will be, uh, you know, picking the or we will be prioritizing the bug fixes.
How would you structure your Python code to ensure reusability and maintainability? Okay, so, to ensure the maintainability and the reusability of the code, we have many ways, like there are the design patterns which we can use in order to ensure the maintainability and the reusability. So we have the POM pattern, we have the page factory, and there are many more other design patterns. So in this way, it creates a very structured and organized framework, and if we take an example of POM, there we create the page objects of the web element in my Java classes, and it is maintained in a very structured way, and whenever there is a UI changes, we don't need to change in my complete code, instead by changing only the object of that particular web element. Reusability, again, we can create the utility files, utility class, and there we can, you know, whenever, whatever the action we are going to perform on a particular web element, we can create the methods, utility method for that, let's take an example of click, navigate, or wait, these all we can create, and we can reuse these methods throughout the framework, and we can ensure that there is reusability of code is happening, and also when it comes to maintenance, we don't need to change all over the automation framework, but in a single file.
When constructing test scripts for automation, how do you manage dependencies between test case to ensure a reliable test execution sequence? When constructing test scripts for automation, how do you manage dependencies between test case? Okay. Uh, so ensure the dependencies between the test cases using testNG framework. Uh, we have it provides notations through which we can maintain the dependencies between the test cases. So if you talk about the testNG framework, we have, uh depends on method depends on method parameter which we can use with test. And, let's if there are test a and test b, if my test b is dependent on test a execution, so I'll just have to write, uh, add test and in bracket depends on method and the method name. So whenever my test state is passing, then only my test b will execute. So in this order, we can maintain the dependencies between the test cases in our automation framework, and it also it also ensured the reliable test execution sequence. And, uh, this is 1. This is to for dependency. And there is another one is priority. If we want to run all of our test cases in certain order, um, that in certain order, so we can also prioritize, give the priority to each test, and execute in the sequence on the basis of the priority whatever we have given to the test cases.
Discuss a strategy for implementing continuous testing in a DevOps life cycle and a role of okay. Uh, in order to implement continuous testing, we can use Jenkins CICD pipelines. So here, what we can do is we can in we can integrate our automation code with CICD, and we can schedule the daily execution. So there is a configuration which needs to be done in order to create the Jenkins, uh, Jenkins job. So in my current project also, I have created a Jenkins jobs in order to execute my, uh, regression suit and the sanity suits, uh, on the daily basis. So I have scheduled at a particular time. So daily at 4:30, I run my Jenkins Jenkins job. It automatically trigger the Jenkins job if it is scheduled at a certain for certain time period. So in this way, using the Jenkins CICD, we can implement the continuous testing, uh, continuous testing in the DevOps life cycle.
What process do you follow to ensure comprehensive test coverage improvement? What process? Okay. To ensure comprehensive test coverage, first thing, uh, we create like, uh, we go through the PRD document whenever there is a whenever there is a new requirement comes up from the product, First of all, there is a grooming session. And, uh, in the grooming session, we discuss about the requirement or about the feature end to end, what why we are, uh, going live with the feature, what is the requirement of the feature, how and when, everything we discuss. And after that, we, um, yeah, we create the test cases. In parallel, there is a development is going on. So we are working in an agile environment, so development in the testings works in a parallel in a in a parallelly. So, briefly, I'll be creating all the test scenarios and test cases. And along with that, the test data setups and everything. So in order to ensure the test test coverage, regression, we have the automation regression suite. Uh, we make sure that with the new changes, no existing functionality is, uh, hampering. So we run the regression suite, sanity suite in order to ensure that everything is working fine. Like, whatever the existing code, it is working fine. And, uh, yeah, we report bugs whenever there is a, uh, blocker or bug found. It is reported in Jira. So these all are the basic or the key comp key things key points which we make sure whenever whenever we do the testing via manual or
Following JavaScript, determining why the function does not correctly update the DOM to display a user's profile. I think the parameter which we are passing in the display user profile, it is not correct. I am not yeah. The I don't have the expertise in JavaScript, but whatever I can understand with this code snippet, uh, the params which we have passing, it is not correct. But again, I'm not sure about it, so I would like to skip this question.
This segment of Java code aims to apply the singleton design pattern. There seems to be a potential issue that cater could prevent it from the working as a proper singleton container. Database connected private static instance, null private, Okay. Uh, so in this particular code, uh, we have declared database connected instance variable as private. Since in singleton design pattern, uh, the concept of singleton design pattern is itself that we create a single instance of, um, of an object and and create a global access point in order to access it throughout from the through, uh, from, like, anywhere from the framework. So it should be declared as public. I think the private static database connector in SANs which is null, it should be declared as public. If it is declared as private, it won't be able to it is not accessible. So it is it should be declared as public and the constructor also it is declared as private. Again, it should be declared as public. So this is so this is preventing it working as the proper singleton. So according to me, this should be changed, or this is not
How do you approach writing transcripts that are adaptable to change in the application I mean, again, uh, whenever I we create the test scripts in the automation framework, we ensure that we follow the we create it with the design pattern, which I mentioned earlier. So if there is any changes on the application interface, so we just need to update the xpath or the web element which we have declared in the page object class. So I think using or using the proper accurate design pattern, we can, you know, manage this kind of situation whenever there is a, you know, any changes in the application UI.
You would apply for the migration testing to ensure critical operations are functional post migration. I think whenever there is a migration happens, uh, if we are migrating something from a from 1 system to another system, so the type of testing needs to be done. Like, we should do the performance load because we are migrating 1 system to another. So the and all the regression sanity needs to be done. So methodology, if you talk like, this is more like agile kind of methodology we can apply.
What is your approach to automating security testing, especially for mobile applications? Security testing majorly it is done while the logging to any application or if there are any kind of payment is happening like if we are doing any transaction or we are logging to any system there should be like let's say if there is an app and it is based on a user journey if it is maybe kind of Mubequick or the Paytm so we can ensure we can check we can have the device ID check we can get the device ID for the first time and if user tries to log in with any other device it which can be a fraudulent activity so that can that is a good to have and we have OAuth authentication like we have OAuth 1.0, OAuth 2.0 so having OAuth 2.0 which is the latest that can help in order to do the security testing. Password whatever the password we are applying on a field it should be alphanumeric and it should be like strong enough which could not be you know leak or hacked so these are the basic thing which can we do in order to do the security testing for the mobile application.