profile-pic
Vetted Talent

Sumit Tripathi

Vetted Talent

With over 11 years of experience as an IT Professional, I thrive in the dynamic world of technology, where change is the only constant. My career journey has been marked by a relentless pursuit of improving software functionality and efficiency.

My technical prowess spans multiple languages, including Java, JavaScript, and C#.Net, as well as proficiency in automation tools like Postman and Jenkins, and Agile tools such as Jira and TestRail. I bring a unique blend of skills that makes me a versatile asset in the IT landscape.

My approach to software development is characterized by a sense of urgency and a willingness to shoulder increasing responsibilities across all project phases – from analysis and design to implementation and deployment.

  • Role

    Senior Software QA Engineer

  • Years of Experience

    11 years

Skillsets

  • Manual Testing
  • Agile Scrum
  • automation
  • Software Testing
  • continuous integration
  • Team Leadership
  • Ui automation

Vetted For

8Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior Quality Assurance Engineer (Hybrid - Gurugram)AI Screening
  • 53%
    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: 48/90

Professional Summary

11Years
  • Sep, 2021 - Present4 yr 4 months

    Senior Software Quality Engineer

    Helmerich & Payne Technologies
  • Apr, 2019 - Sep, 20212 yr 5 months

    Senior Software Quality Engineer

    Ciena Technologies
  • Jul, 2012 - Apr, 20196 yr 9 months

    Software Quality Engineer

    Keysight Technologies

Applications & Tools Known

  • icon-tool

    Cucumber

  • icon-tool

    Rest Assured

  • icon-tool

    Cypress

  • icon-tool

    TestNG

  • icon-tool

    Postman

  • icon-tool

    Newman

  • icon-tool

    Jenkins

  • icon-tool

    Git

  • icon-tool

    Jira

  • icon-tool

    TestRail

  • icon-tool

    TFS

  • icon-tool

    TeamCity

  • icon-tool

    Bitbucket

Work History

11Years

Senior Software Quality Engineer

Helmerich & Payne Technologies
Sep, 2021 - Present4 yr 4 months
    Lead team in automation and manual testing initiatives, implementing Cypress automation and Cucumber framework with Rest Assured.

Senior Software Quality Engineer

Ciena Technologies
Apr, 2019 - Sep, 20212 yr 5 months
    QA Lead for the Submarine Team in microservice-based infrastructure for Network Management System.

Software Quality Engineer

Keysight Technologies
Jul, 2012 - Apr, 20196 yr 9 months
    Developed and executed automation test cases for Protocol Decode under Oscilloscopes.

Achievements

  • Technical Lead for Rest API + JAVA + Cucumber framework and Manual QA for the Core Bit Guidance System
  • Developed Cypress-based UI automation framework
  • Automated UI testing with Cypress comparing data from microservice and Micro Frontend
  • QA Lead in microservice-based infrastructure for Network Management System

Major Projects

3Projects

Oil well Drilling Monitoring Software

    Technical Lead for Rest API + JAVA + Cucumber framework and Manual QA for the Core Bit Guidance System.

Network Management System

    QA Lead for the Submarine Team in microservice-based infrastructure for Ciena Technologies.

Protocol Decode under Oscilloscopes

    Worked on various protocols, including USB 4, ARINC 429, BroadR-Reach, USB3.2, Mil-Std-1553, Ethernet 100bt, Manchester, and I2S.

Education

  • B.Tech

    Institute of Engineering and Technology Ropar, PTU

AI-interview Questions & Answers

Let me understand more about your background by giving a brief introduction. Yes. I can surely do that. So, initially, I have started my career from the Resigent Technologies, which later becomes the Keysight technology after the split. And I was a part of, uh, oscilloscope team. And over there, I was working with electronic equipment. And, uh, our oscilloscope used to record the electronic signal coming from the hardware, and, uh, we used to automate those and we used to tools test those well. And over there, I was using csharp.net, and we are also using ChromAPPS for the testing. After that, I moved on to the Vienna Technologies. There, I was working more or less in the telecom domain. And, uh, over there, I was working in a software called a network management system. So, uh, we we used to manage the software end to end for layer 0, l one, l two, l three. And I was in charge of l zero and l one layer and sometimes, uh, to support the older networks. So it's in terminal as well. So we were working on that. And, uh, in this time, we are the software is basically created on the Microsoft infrastructure. So we were using, uh, a REST API automation using Postman, Newman, and the the TeamCity for automating these, uh, basically, all the microservices individually. So I was mostly in charge of automating the l zero services plus summary. So and backup, restore, and everything for using the rest API itself. And, uh, then I moved to the new recent company where I'm still working. So here, they have, uh, come up with next level. Like, uh, they have microservices as well, and they also have a micro front end infrastructure in the place. So if a particular front end is not working, like, CNI used to have a 1 microservice for the whole front end. So if there is a issue with the front end, so a whole UI used to crash. But in this case, if a part part of your, uh, uh, front end is not working, then your UI will not definitely not crash. And you can go ahead without any hassle, and that part can be fixed later as well if it is not important. I mean, even if it is what other functionality will be supported. And here, I am using JavaScript for JavaScript and Cypress for automating the UI automation. So I I've actually started the Cypress automation here, and I have created the basic framework and everything was done by me. All the creative commands and everything was created by me and, uh, me. And now we have a team of 5. So, basically, they'll help me, and they also, uh, are very good in terms of they also contributing towards the project. And then now I'm currently working on the REST API Automation. So for REST API Automation, we are using REST Assured plus Java with the Cucumber framework. So now we have made it a BDD framework for the REST API. And, uh, uh, we have almost sued for 3 projects, and we are planning to move ahead with the other projects as well. So that will be all from my

Can you walk through how would you how do you create a test scenario for a feature that involves complex in output option. Create a test scenario for feature that involves complex. So first of all, I will check that what kind of input it takes. So initial thinking will be, like, suppose I have a text box or let complex it, uh, suppose we have a we have to create that, uh, complex level of, uh, high scientific calculator, So it should take cos, theta, tan, theta, and everything. Like, text is also allowed, and theta is also allowed. Some special characters are allowed. So I will make sure that, uh, whatever it is supported, like, obviously, plus, minus, multiplication, division, and all the numbers are supported. But with that, some of the votes are also supported. Not every text is supported, but, like, span theta, cos theta, uh, it will be supported. Log will be supported. So I will make sure that I will write the post test cases that what are the keyword will be selected and what will be not. Suppose our user enter not instead of tan theta, it writes pin theta, like, t I n theta. And then by its misspelling mistake, that should not be allowed to the user. So I would definitely make sure that that is done. And, uh, obviously, I will try to input something that I suppose I'm it can return only 6 digit numbers, and, uh, definitely, I will try to multiply two numbers. Those, uh, multiplication will be more than, uh, this 16 digit. And then I will definitely want to check that, uh, what was the, uh, output. And, uh, I will also check that what is the maximum number can be inputted, and, uh, I will definitely try to. I will also check the decimal values. Like, suppose it can return up to 4 different decimal values, then definitely I will try to check that as well. Like, uh, I will try to check with 4 minimum 4 digit, and, also, I will try to surpass that, like, n plus 1. So, like, using, uh, uh, 0 multiplying 0 1 0 0 1 into 0.001 so that, uh, we get six digit decimal value. And then I will definitely check. And apart from that, I will try to enter other, uh, other special character which are not part of the, um, basically, calculations of the calculator, like, add the rate and everything because these are not related to the calculator. And, uh, these are the scenario, and, uh, what I can do is there. I have to. I think that will be it from my side. Yeah. I think I have covered the all the I will check the characters. I will check the special characters, like, the minus, everything. I will check the words as, uh, numbers, words. Words are specific. Pick only cost. The class, the class should be 10 and nothing else. Logs will be there, and these are the things like trigonometry terms, and this should be there. So that will

Discuss the strategy for implementing continuous testing in DevOps. Test life cycle and a role of skills. Implementing a continuous so in the my current organization and my previous organization for continuous in DevOps test cycle, what we used to do is we have created regression suites. So here in c and I, I used to have 1 regression suite which used to run on the nightly basis. Before running it on nightly basis, we used to use the PMCT for and in here, we are using Jenkins for the UI and, uh, uh, Cucumber framework, which we have for the API automation. With the rest assured, that also runs on the nightly basis. So implementing a strategy will be, first of all, uh, there you must have everything will be like, what we do is, uh, we install the first, we install the gate, then we install the node for the UI automation, then we install the Cypress, and then we pull our repository in the system. Once the rep is changed. Uh, is there, then we have already verified, uh, verified test cases after the reviewing after the PR review, and everything runs on the nightly basis. Once the, uh, our transactions is complete and we have finalized that, what are or what our our results are So we have 2 ways. Like, for for a UI automation, what we have already done is, uh, we have linked those test cases with the, uh, test trail test cases. So once those test cases fail, the, uh, the new suit will be created, and those tests will be marked as failed in the our test trail as well, which is our manual repository and which is linked with our automation as well. So once these are failed, what we make sure is, uh, we assign this to the engineers who are looking into it. Like, these are the test cases failing. So they generally go to that, and they generally, uh, we can obviously directly submit the defect against it with using their those test cases. But, uh, here, what the process we are following is we generally assign those to the engineers, and engineers check that suppose there are 10 cases failing because of 1 issue, so they then resubmit a defect and they mark it. Like, these are the reasons it is because of which it is failing. And then next time we already checked that if this bug is already there, then the those test case, we kind of block it for some time, and, uh, we continuously run the other other test cases. So that is our strategy for the year for continuous testing using the dev ops test cycle life cycle. So and that is it. And we are using, uh, we use our Kubernetes secrets for storing over all the, uh, data. And, uh, every time, uh, we load create a new system for the testing so that the environment issue should not be there. And what else we do as part of Jenkins integration? Uh, I think you can run on the branch basis as well. Suppose you want to run on the test environment, you can run it. And suppose, uh, suppose release is there, you want to run on the release environment. So you can basically, we have added a checkbox to, generally. But, basically, we added a drop down so you can select any from that place you want to run on the stage, test, or UAT. Uh, you can do that, or you can run on the production as well. Like, suppose you want to run the your test cycle on the production, you can just simply select it and it will run successfully. So that is the kind of strategy what we have taken

Do you follow to ensure comprehensive test coverage in manual and automation testing? Uh, comprehensive coverage. What we are calling is, first of all, uh, for manual and coverage. So what we have, we have segregated into 2 parts. 1 is the the functional testing, and another one is nonfunctional testing. So which goes to performance testing and, uh, some UI testing, which is not, uh, like, indentation is wrong, but not related to the issue, uh, from basically functional part. So that kind of, we tested separately. So for the functional testing, uh, like, generally, what we do is, uh, initially, what we do is just state that, uh, your UI should not take so much time. And suppose you are performing some function, um, but but it is taking longer time to reply at the UI, and the UI is buffering for long time. So that part is taken care care as a part of performance. But for the automation, we are using JMeter here, which is taken care by one one of my team members. Sometimes I help me help him. But, mostly, he takes care of that. And, uh, apart from that, so and for the functional part, what we do is, uh, we we test the UI first, like, what we what was, uh, uh, discussed in the part of HLD and the Apex. So first, we test the UI that once the UI is come you the UI test cases are complete, then we go jump directly jump into using the HLD and epic. And after the if we have any doubts, we generally discuss with the PUs that what what are their expectation. We write thorough test cases functional test cases according to them, and we also segregate our, uh, we make sure that all the main functional test cases which are discussed with the POs, we we generally automate them as part of UI and the API testing code. And we generally follow the, uh, workflows functional workflows using the API u API automation. But sometimes we also do that in the part of UI automation engine because Cypress has capability to get to done, uh, API running and get the values. But, yeah, we are mostly doing as a part of because we are using VDD in the API itself. So apart from that, what we are doing as part of manual, we segregate our smoke testing differently, then we have a sanity test cases different. Basically, we will mark, like, p 1, p 2, p 3 priorities in the all the functional test cases. Once those are done and suppose there are other strategies, like, we use. Suppose there is a calculator, we generally use the back, uh, boundary value and it is supposed, uh, yeah. So if it take if it takes 10 values, then we can really detect 0 to check, like, uh, we try to put value less than 0, and, obviously, try to put the values n plus 1, 10 plus 1 is there. And if, uh, boundary values is there, equivalence is there, decision table is there. So there are other techno techniques which we use to write the test. We use we use for writing the manual test cases. And for, uh, we generally prioritize those test cases. Once the priorities are done and we discuss with the PUs as well, generally. And once that is after you, we we generally mark them as automation needed. And once those are done, uh, we try, uh, automate all the priority test cases. After that, we pick the p 2 and p one test cases. 1st, we only automate the priority test cases. P 3 test p 1 test case. Sorry. P 1, p 2, p 3.

Uh, since I have mostly bugged on the desktop application and the web application, so not much experience with the mobile application. But I will still try to answer that with my experience only. But I haven't much worked on much. So how would you approach the testing? Mobile apps compatible version. Yeah. So what I will do is I will have, uh, at least the 3 different type of machines, different types of mobile, which, uh, like, uh, sometimes Google takes original, uh, basically, Google, which long Google Pixel has Google, uh, original Android. And suppose I wanted to test our software on that, and sometimes other vendors are also there, like Samsung Mobile, which actually modify their operating store over the Android. So I I will take at least 2 of them, And I will also check that which is the popular mobile, which is, like, uh, I will say, 1 plus is there. So they have some extra security features, and we have also seen that there are some other, uh, high end mobiles from the Samsung as well, which are, uh, which are providing extra features. And then now folding mobiles are also there from the uh, Samsung. So I will make sure that at least different type categories of the mobiles I have at least in the part of simulation at least which which are available currently in the market. And I I will verify with this. So I will, uh, keep on changing the the version of the system. Like, uh, I have, uh, supposed Marshmallow is supported. I will check with that. I suppose Kit Kat is supported. I will definitely install on those mobile, and I will check with that. And I will also make sure that, uh, like, UI displays also there. The project security check is added on on top of it, like, uh, Evan Prose is adding and high end mobile from the, like, s series having Samsung. So I will definitely make sure that, all the securities have been handled properly with the change in the version. And suppose a new version is launched, then definitely, I will check that those which are the security features and every features which are dependent on this. I will make sure that those are working fine from that. So that

How would you implement the function to validate server response times within defined learning performance testing? So I haven't used Python much, but I can tell you in terms of, uh, JMeter, which we are using as part of performance test here. So what did we use to do is, uh, page and delete fire over the, uh, API from the basically, that's API from the JMeter, and it generally returns. Uh, it will keep a check on it. It will return, uh, response time taken by the API to return. And, uh, even if you want to check via UI, so UI also UI automation. So we are using Cypress here. So Cypress, if if you click on a button, so it will give you a response time that how much it suppose you perform some operations, like you have added 1 plus 1 as part of calculator in your UI from the front end, so it generally returns as, uh, how much time has been taken by the user. Basically, by the UI to get the data from the back end. So you can basically get those data from the EUI as well, and, uh, you can basically automate accordingly. Uh, that will be all from my side.

Code Java code aims to apply singleton design pattern. There seems to be a potential issue that prevent it from working as a proper Can you identify the problem and suggest a fix? Data connected. Return instance. So, basically, this is I understand built in is implemented. But if, uh, only a task will be created when the task is done. That is the proper reason of that. And I think, uh, your first instance is created as private, but I don't Uh, I think it's so it will be I think the get set getter setter should be placed so that we can get the instance in the return method. That's I think I am getting it. And, uh, one can be solved for the instance because the instance is private initially, but we are trying to return in the public static function. Obviously, static will be called And, Yeah. That is only thing I can think of currently. The way it is looking like the

There is a logic error that call the test to solve us even if it is supposed to be. Can you spot the available driver phone? Get find n one by n d dot click. Yeah. So I think what I can understand from here is exception. Uh, obviously, I have not not worked in Python, but, uh, what I can understand from my experience is exception should be, like, it is passing just passed, and it is, uh, basically printing the exception message. Instead, we can obviously print a test failed and then we print our message. That will be first because exception is to show the exception on the print test pass. It has a test passed. So that I think can think of because it is something which is not looking right to me. So that can be fixed here. Yeah. So that is that is that will be from my side. Uh, let's just change the test pass to test fail and show the exception that that will give the user reason why it is failing.

Writing test script that are adaptable to the changes in the application interface. So what, uh, I am doing here is in the Cypress is, uh, currently. So our software is keeps on, uh, changing, uh, like, day to day basis sometimes because it is also new. So, obviously, we know that, initially, your UI cannot be certain because you get, uh, feedbacks from the customer regularly. And whatever you plan, it is going to change. So what we do here is we are using, uh, basically, we have page object modules here and we are using that. So what I have done is we have created, uh, basically, what I have done is we have put I have received this selector, like, uh, cy.get and then CSS selector in a separate class and, uh, in the different class, and then we are calling it, and then we are checking it. Suppose, uh, this is the side like, suppose I will have to check the upload. So what we are doing is we, uh, in Cypress, it gives you the flexibility to write your whole test and check-in one line. So but what we are doing is, uh, because we know that, uh, your c two selector can change in future and UI UI interface can also change, So what we have done is we have everything put in the page object p u file and, uh, and then we are calling in the test file. So what we have done is we have put every CSS selector under 1 file, and then we are checking on it. Like, uploads name, we are expecting that it will not change. So but it its position can change. So so what we have done is, uh, whatever changes are done so, generally, our team informs us that these are the changes we are expecting. So wherever there are the changes, we, uh, we change the p o file and page object model file, and it automatically started reflecting in our, like because check is also always on the icon side and, uh, text, which is upload, so that will always match. So that we are expecting that test will always pass if the CSS vector is right and updated. So that's why we have put it in the other file. So that is one thing what we have done. And, uh, approach is, generally, we keep on contacting like, we are working in scrum team, so we generally keep a check with the customer, uh, the repas as well, like, uh, what did they are new changes they are coming with. And we try to write over, uh, loosely coupled, uh, Caesar selector if I if this is the word. This is the word in the coding, but we're generally not, uh, writing the whole sees a selector. We are managing in a way that it should be like in this. Like, uh, in a shopping cart, you are expecting that cart. There should be a class cart, and then you have items under that. So we write such in such a way that, uh, obviously, they they will move the cart here and there, but, uh, items will be always under the cart. So we write our CSS sheet. It is like that thinking that only because, uh, that is that will be the most logical way to write it. So that is another approach we take. And, basically, there are 3 approaches which which I have already mentioned. 1 will be, obviously, you know, going logical with the c selector, then we are talking with the scrum team, and then we have also a co we have also managed our code in such a way that it can be changed rapidly using the page update model. So that

What is the approach to automating security testing? It's free for the mobile apps.

Uh, I'll explain the methodology you would apply to migrate testing to ensure particular operation, uh, functional post migration. Explaining a methodology you need to apply. Migrating. Okay. So for after migrating, definitely, I will like to check backup and restore. So first, that will be the first thing I will check. And, obviously, I will also check g r, basically, georegency. Suppose one thing is failing, I will definitely want to check that. Suppose one of the server is failing on our side, then the georegency should work and Mumbai server should work or Spain worker server should work for us. And, obviously, I will check the high availability. Suppose, uh, we have migrated from 1 system to other, and, basically, we have migrated. So then I will definitely check that I will release there. Like, we have 3 cluster system, and, uh, we are expecting that if 1 is down or, basically, 1 is busy, then other 2 should take care of the load. So that will be one thing I will definitely going to look into. These are some things which I am initially going to look into so that our critical function should always work. And, uh, apart from that, uh, what I will do is I will create our p one test cases, uh, and, uh, we will go for a regression. Uh, totally depends upon the size of the project. So, uh, if we have already automated, like, p 1, p 2 test cases, So then, definitely, I will run our test cases on those. And, uh, but I will still to make sure 100% sure, I will ask our engineers to do, uh, basic basically, go for the rejection for p 1, p 2, p 3 test cases. And I will try to identify, like, which are the areas which are mostly impacted. So with the after discussing in the scrum, so if they we have input, so definitely we will put extra time on that. So that will be one thing. And, uh, obviously, if we have time, like, suppose we have 6 months to check these migrations, like, we already know. So what we'll we will do is, uh, we will write a automation suit or UI suit, and we can basically we can also write a UI automation suit, which check which can be possible with the Cypress as well. So we will take all the screenshot of every page, and uh, we can, uh, compare with the post the migration as well. So sometimes this is also helping. But, uh, this is not suggested because it's better to have a proper automation suite, which is running on the one server. It should work on the other server. So that will be all from my side.