0% found this document useful (0 votes)
21 views19 pages

Serkan Bey Tester Interview Questions Sozel

The document outlines a comprehensive guide for interview preparation, focusing on the candidate's experience in the IT industry, particularly in automation testing using tools like Selenium and Java. It details the candidate's project experience in fleet management, their testing framework, daily activities, and understanding of Agile methodologies, including roles in a Scrum team. Additionally, it explains concepts such as bug life cycle, automation testing advantages, design patterns like Page Object Model and Singleton, and the use of PageFactory in Selenium.

Uploaded by

emir deniz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views19 pages

Serkan Bey Tester Interview Questions Sozel

The document outlines a comprehensive guide for interview preparation, focusing on the candidate's experience in the IT industry, particularly in automation testing using tools like Selenium and Java. It details the candidate's project experience in fleet management, their testing framework, daily activities, and understanding of Agile methodologies, including roles in a Scrum team. Additionally, it explains concepts such as bug life cycle, automation testing advantages, design patterns like Page Object Model and Singleton, and the use of PageFactory in Selenium.

Uploaded by

emir deniz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

INTERVIEW QUESTIONS

TELL ME ABOUT YOURSELF


 FIRST OF ALL I WOULD LIKE TO THANK YOU FOR HAVING ME AND APPRECIATE FOR YOUR TIME.

 AS YOU SEE ON MY RESUME, MY NAME IS ………

 I HAVE BEEN IN IT INDUSTRY ABOUT ….. YEARS.

 DURING THESE YEARS I HAVE WORKED CLOUD AND TRANSPORTATION DOMAIN.

 I STARTED AS A MANUAL TESTER IN MY CAREER IN SYMUND COMPANY AND NEXT YEAR JUMPED TO AUTOMATION TESTER.

 JAVA IS MY PRIMARY PROGRAMMING LANGUAGE AND I USE SELENIUM WEBDRIVER AS A TEST AUTOMATION TOOL.

 IN SYMUND I CREATE MY FRAMEWORK USING BY JAVA,SELENIUM,TESTNG AND MAVEN

 IN PERFLEET COMPANY MY FRAMEWORK BASICALLY CONTAIN JAVA+SELENIUM+CUCUMBER+MAVEN+JUNIT

 I HAVE KNOWLEDGE OF MAKING FRAMEWORK FROM SCRATCH BUT AS YOU KNOW IT IS NOT A SINGLE PERSON JOB. ALONG WITH A TEAM I CAN EASILY DO A FRAMEWORK FROM
SCRATCH. I CAN MAKE A MISTAKE SO I DON’T WANT LET MY TEAM DOWN BECAUSE OF ME

 FOR BACKEND TEST I AM USING SQL FOR RETRIEVING DATA FROM DATABASE WITH THE HELP OF JDBC.

 AND ALSO I USED API TESTING ON MY PROJECT AND I USED RESTFULL AND REST ASSURED LIBRARY.

 FOR REPOSITORY AS USUAL I AM USING GITHUB.

 I USED JENKINS FOR CONTINUOUS INTEGRATION AND I USED SELENIUM GRID.(FOR MULTIPLE TEST ACROSS DIFFERENT BROWSERS, OPERATING SYSTEM AND MACHINES IN
PARALLEL.)

 IN MY CURRENT PROJECT WE ARE USING JIRA FOR BUG TRACKING TOOL.

 AS A METHODOLOGY I AM WORKING IN AGILE.

 I AM A CERTIFIED SCRUM MASTER AND OCA(ORACLE CERTIFIED ASSOCIATE).

 I AM A QUICK LEARNER PERSON AND I AM VERY WILLING TO LEARN NEW DOMAINS. I CAN EASILY ADAPT MYSELF TO NEW TOOLS AND CIRCUMSTANCES.

 I AM CROSS FUNCTIONAL TEAM PLAYER,OPEN-MIND,DETAILED ORIENTED, RESPONSIBLE TEAM PLAYER AND CULTURE ORIENTED.
TELL ME ABOUT YOUR PROJECT?
 IN MY LAST PROJECT I WAS WORKING ON FLEET MANAGEMENT. IT’S AN INTERNAL APPLICATION.

 THIS PROJECT IS ABOUT TRANSPORTATION IN BUSINESS.

 MAIN GOAL OF THIS APPLICATION ARE

• TO REMOVE OR MINIMIZE THE RISKS WITH VEHICLE INVESTMENT,

• IMPROVING EFFICIENCY, AND PRODUCTIVITY

• REDUCING THEIR OVERALL TRANSPORTATION AND STAFF COSTS,

 WITH MY CO-WORKERS I WAS WORK ON SOME MODULES LIKE

• FLEET, COSTUMERS,SALES,ACTIVITIES,MARKETING,REPORTS AND SYSTEM.

 BUT MY FOCUS WAS ON

• FLEET MANAGEMENT MODULE AND ITS SUB MODULES LIKE VEHICLE ODOMETER,VEHICLE COSTS,VEHICLE CONTRACTS,VEHICLE INFORMATION,VEHICLE
MODEL, AND SERVICE LOG.

 IN THIS PROJECT MY RESPONSIBILITIES WERE,

• FIRST TO DO THE MANUAL TEST, THEN ACCORDING TO MANUAL TEST TO WRITE THE AUTOMATION SCRIPT.

• AND THEN I ANALYZE SMOKE TEST RESULT AND CHECKING STABILITY AND BUG FREE.

• AND ALSO IF DEVELOPERS ADD SOME NEW FEATURE DO REGRESSION TEST AT THE END OF THE EACH SPRINT.
TELL ME YOUR FRAMEWORK
 WHEN I JOIN THE COMPANY, THE FRAMEWORK WAS ALREADY EXIST

 AS A AUTOMATION ENGINEER MY RESPONSIBILITY TO MAINTAIN THE FRAMEWORK AND DOING REGULAR REGRESSION AND SMOKE
TESTS.
 I MADE SOME IMPROVEMENTS IN THE FRAMEWORK TO MAKE IT MORE INDEPENDENT AND MORE REUSABLE WITH THE HELP OF POM
DESIGN PATTERN.
 OUR FRAMEWORK WAS HYBRID, IT IS COMBINATION OF BDD(BEHAVIOR DATA DRIVEN) AND DDT(DATA DRIVEN TEST).

 I USED GHERKIN LANGUAGE WHILE GENERATE MY FRAMEWORK FOR UNDERSTANDABLE WHO HAS NO TECHNICAL SKILL.

 AS ALL OTHER HYBRID FRAMEWORKS, MY FRAMEWORK WAS ALSO HAVING


 PAGES FOLDERS(WHICH WE STORE ALL LOCATORS ABOUT WEB ELEMENT AND METHODS),
 STEP DEFINITION FOLDERS(HOOK METHODS, METHODS WHICH COMES FROM FUTURE FILES)
 RUNNER CLASS FOLDERS(WHICH CONTAIN FEATURE,GLUE,DRYRUN,TAGS,PLUGIN),
 UTILITIES FOLDERS(I STORE COMMON METHODS INSIDE LIKE DRIVER,CONFIGURATION READER,BROWSER UTILS),
 PROPERTIES FILE(I STORE URL,USERNAME AND PASSWORD INSIDE),
 POM.XML(STORE DEPENDENCIES),
 FEATURES FOLDER(WRITTEN BY GHERKIN LANGUAGE). AND FOR DDT BASED ON DATA SIZE WE WERE USING SCENARIO OUTLINE, EXCEL SPREAD SHEET
AND ORACLE DATA-BASE VIA AWS.

 FOR THE TEST RESULTS WE WERE USING EXTEND REPORTS OR CUCUMBER HTML REPORTS AND IT WAS INTEGRATED TO THE JENKINS.

 IN MY COMPANY CI/CD WAS ALREADY SET UP BY DEVOPS AND WHEN I WAS COMMITTING MY CODES TO GITHUB, IT WAS TRIGGERING
THE JENKINS TO BUILD, AND SENDING ME THE RESULT. BRIEFLY, THIS WAS MY FRAMEWORK.
TELL ME YOUR DAY TO DAY ACTIVITY?
 MY DAY STARTS AT 9 A.M. AND I GET REPORTS FROM SMOKE TEST AND ANALYZE IT TO MAKE SURE THE
APPLICATION IS STABLE.MEAN ENVIRONMENT IS UP AND RUNNING.
 AFTER ANALYZE SMOKE TEST REPORTS:
 IF THERE IS A SERVICE ISSUES, I WILL IMMEDIATELY CONTACT DEVOPS TEAM,
 IF IT’S ABOUT MY SCRIPTS, I WILL DEBUG(FIND MISTAKES) MY SCRIPTS, AND FIX IT,
 IF IT’S A BUG, I WILL REPRODUCE IT AND LOG THE DEFECT(SAVE THE DEFECT).
 I ALSO CHECK MY SCHEDULE IF THERE ANY IMPORTANT TASKS.
 THEN I ATTEND MY DAILY STAND-UP MEETING(10:30 AM) WITH MY SCRUM TEAM FOR ABOUT 15
MINUTES. WE ANSWER 3 QUESTION YOU KNOW. WHAT DID YOU DO YESTERDAY? WHAT YOU ARE
GONNA DO TODAY? IS THERE ANY BLOCKER, OBSTACLES OR IMPEDIMENTS?
 AFTER MY MEETING IS OVER, I GO BACK TO MY DESK AND CONTINUE AUTOMATING TEST CASES FROM
THE DAY BEFORE.(WHERE I LEFT)
 THIS IS HOW MY DAYS GO AT WORK
BUG LIFE CYCLE
After find a bug go to jira-xray and click create(NEW)
And Assign it related person(ASSIGN)
After assigned, it will be seen from another person(OPEN)
After developer look at it, he/she can say this is opened before or
rejected…..
And then fix it(FIXED)
After fixed it test it again(RETEST)
After retest if problem is continue assign it related person again
If bug is fixed confirm it is fixed(VERIFIED)
And closed the cycle
Rejected: If the developer feels the defect is not a valid
defect then it changes the defect to “rejected."
Duplicate: If the defect is repeated twice or the defect
corresponds to the same concept of the bug.
Not a bug: If it does not affect the functionality of the
application then the status assigned to a bug is "Not a bug”.
Deferred: If the present bug is not of a prime priority and if it
is expected to get fixed in the next release or in the future.
WHAT WE DO SPRINT,DEMO AND RETRO MEETING?
SPRINT PLANNING MEETING

 PO BRING ALL PRODUCT BACKLOG TO THE PLANNING MEETING

 WE ANALYZE USER STORIES AND ACCEPTANCE CRITERIA WITH MY TEAM

 MAKE SURE USER STORIES AND ACCEPTANCE CRITERIA ARE CLEAR

 WE BREAK PRODUCT BACKLOG INTO THE SPRINT BACKLOG

 AND WE DECIDE WHICH ONE WILL WORK ON WHICH STORY DEPENT ON THE CAPACITY

 AND WHICH FUNCTIONALITY WILL BE FIRST(PRIORITY)

 TEAM CAN ADJUSTED(+ OR -) DEPEND ON THE SPRINT CAPACITY

DEMO(SPRINT REVIEW MEETING)


 DEV TEAM DEMONSTRATE THE RESULT TO THE P.O AND STAKEHOLDERS

RETRO

 AT THE END OF THE SPRINT,TEAM EVALUATED TO FINISH SPRINT

 TEAM ANSWER QUESTIONS? WHAT WENT WELL AND WHAT CAN BE IMPROVED?

GROOMING MEETING
 GROOMING (OR REFINEMENT) IS A MEETING OF THE SCRUM TEAM IN WHICH THE PRODUCT BACKLOG ITEMS ARE DISCUSSED AND THE NEXT SPRINT
PLANNING IS PREPARED.
ROLES IN AGILE
Product Owner
 He/she works as the voice of the client mean h/she represent client
 Manages the product backlog
 Responsible(accountable) for the outcome of the project
 Set priorities
 Manage the release plan(he/she decide when product will be release)
 Product owner reporting everything to the vice president
Scrum Master
 Facilitates team and communication between team(not menager)
 Removes impediments(blockers or obstacles)
 Manage process
 Teach scrum
 Protect team
 Enforce rules
 He/she is not part of the team
 Holds 15 min daily scrum meeting
 He run sprint planning meeting
 Maintains burndown chart(it shows the amount of work remaning per spring)
Development Team
 Develop product
 Works collaboratively and share resbonsibilities among each other
 Resbonsible for designing,implementing and fixing the bug of the product
 Responsible for delivering the product at the end of the each sprint
 Report progress
 Team is self-organizing and self-menaging
WHAT IS ERROR,DEFECT,BUG AND FAILURE?

WHAT IS AN ERROR?
 A mistake in code is called Error . (Mean mistake about code that written by developer)

WHAT IS A DEFECT?
 The variation between the actual results and expected results is known as defect. Error found by tester is
called defect.

WHAT IS A BUG?
 If testers find any mismatch in the application/system in testing phase and defect accepted by development
team is called Bug.

WHAT IS A FAILURE?
 After release, if an end user finds an issue then that particular issue is called as failure or if build does not meet
the requirements then it is Failure.
AUTOMATING TESTING?
WHAT IS AUTOMATING TESTING?
 It is a process of testing the software using a automation tool like selenium webdriver to find a defect.

WHAT ARE THE ADVANTAGES OF USING TEST AUTOMATION FRAMEWORK?


 It saves time and money
 Reusability of code
 Easy reporting
 Low cost maintenance
 More reliable
 Minimum human intervention
 Mostly used for regression test

WHICH TEST SHOULD BE AUTOMATE?


 If the application is stable and there are repetitive test(smoke test,regression test) and if there are huge data it
should be automate.Like smoke test,regression test and sanity test
 If the application or webelement contain captcha(I am not robot,enter the code),Bitmap and barcode it should
be automate manual.

WHAT WE TEST?
 To find bug
 To satisfied end user and client.
 To build great product
WHY PAGE OBJECT MODEL?
 PAGE OBJECT MODEL IS DESIGN PATTERN WHICH USED COMMONLY WITH SELENIUM WEBDRIVER.

 THE MAIN GOAL FOR CREATING POM IS,EASY TO MAINTAIN OUR SCRIPTS AND REDUCE THE CODE REDUNDANCY OR
DUPLICATION.
 I CREATE PAGE CLASS FOR EVERY PAGE OF OUR APPLICATION AND PUT ALL LOCATORS AND RELATED METHODS IN THAT
CLASS.(PUT ALL REUSABLE AND COMMON METHOD INSIDE.LIKE WAIT TIME,SCROLL DOWN,PAGEFACTORY,DELETECOOKIES…)
 WHEN I NEEDED RESUABLE METHODS I CAN EXTENDS BASEPAGE AND CALL REUSABLE METHODS INSIDE OF THE BASEPAGE
FROM ANOTHER PAGES.

ADVANTAGES OF USING PAGE OBJECT PATTERN:

• EASY TO MAINTAIN

• EASY READABILITY OF SCRIPTS

• REDUCE OR ELIMINATE DUPLICACY

• RE-USABILITY OF CODE

• RELIABILITY
SINGLETON DESIGN PATTERN?
 SINGLETON DESIGN PATTERN: PRIVATE CONSTRUCTOR, PRIVATE-STATIC OBJECT AND PUBLIC
GETDRIVER METHOD WITH RETURN
 A SINGLETON CLASS IS A CLASS THAT CAN HAVE ONLY ONE OBJECT AT A TIME.
 AFTER CREATE CLASS
DECLARE CONSTRUCTOR OF CLASS AS PRIVATE SO THAT NO ONE INSTANTIATE CLASS
OUTSIDE OF IT
DECLARE A STATIC REFERENCE VARIABLE OF CLASS.STATIC IS NEEDED TO MAKE IT
AVAILABILITY GLOBALLY.
DECLARE A STATIC GET METHOD WITH RETURN TYPE AS OBJECT OF CLASS
 IN MY FRAMEWORK I AM USING SINGLETON OBJECTS FOR THE WEBDRIVER. THIS MEANS ONE
OBJECT IS SHARED AMONG EVERY TEST.
 IF YOU WANNA DO PARALLEL TEST ,INHERITABLE THREADLOCAL CREATE A SEPARATE OBJECT
FOR EACH THREAD.
SINGLETON DESIGN PATTERN?
public class Driver {//Create a class

private static WebDriver driverPool =null;

//Object should be private and static.


/*By doing private, I ensure that there is going to be only a single WebDriver object throughout the
framework
and none of the class will be able to create another WebDriver object */
//Static means one object is shared among every test.
private Driver() {//make the constructor private so that this class cannot be instantiated
}

public static WebDriver get() {//4


//if this thread doesn't have a web driver yet - create it and add to pool
if (driverPool.get() == null) {
// this line will tell which browser should open based on the value from properties file
String browserParamFromEnv = System.getProperty("browser");
String browser = browserParamFromEnv == null ? ConfigurationReader.getProperty("browser") :
browserParamFromEnv;
switch (browser) {
case "chrome":
WebDriverManager.chromedriver().setup();
driverPool.set(new ChromeDriver());
break;

case "firefox":
WebDriverManager.firefoxdriver().setup();
driverPool.set(new FirefoxDriver());
SINGLETON DESIGN PATTERN?
public class MyDriver {
private static ThreadLocal<WebDriver> DriverPool = new ThreadLocal<>();
private MyDriver() {//for singleton design pattern constructor should be privete in MyDriver
}
public static WebDriver get() {
//if this thread doesn't have a web Driver yet - create it and add to pool
if (DriverPool.get() == null) {
System.out.println("TRYING TO CREATE Driver");
// this line will tell which browser should open based on the value from properties
file
String browserParamFromEnv = System.getProperty("browser");
String browser = browserParamFromEnv == null ?
ConfigurationReader.getProperty("browser") : browserParamFromEnv;
switch (browser) {
case "chrome":
WebDriverManager.chromedriver().setup();
DriverPool.set(new ChromeDriver());
break;
case "firefox":
WebDriverManager.firefoxdriver().setup();
DriverPool.set(new FirefoxDriver());
break;
//return corresponded to thread id webDriver object
return DriverPool.get();
WHAT IS PAGE FACTORY?
 PAGEFACTORY IS A CLASS IN SELENIUM. IT IS USED TO ACHIEVE PAGE OBJECT MODEL DESIGN.PAGEFACTORY IS A WAY
OF IMPLEMENTING THE “PAGE OBJECT MODEL”.
 BY USING THE PAGE OBJECT PATTERN USING PAGEFACTORY WE CAN REDUCE OR ELIMINATE DUPLICATE TEST CODE.

 IT IS USED TO INITIALIZE ELEMENTS OF A PAGE CLASS WITHOUT HAVING TO USE 'FINDELEMENT' OR 'FINDELEMENTS'.

 WITH THE HELP OF PAGEFACTORY CLASS, WE USE ANNOTATIONS @FINDBY TO FIND WEBELEMENT. WE USE
INITELEMENTS METHOD TO INITIALIZE WEB ELEMENTS.
 EVERY TIME A PAGE OBJECT IS CREATED, PAGEFACTROY DRIVER (BECAUSE OF THE CONSTRUCTOR)WILL BE LINKED TO
WEBLEMENTS @FINDBY IN THAT PAGE.

public class BasePage {

public BasePage(Webdriver driver) {

this.driver = driver;
//this method requires to provide webdriver object for @FindBy
//this means this page class

PageFactory.initElements(driver, BasePage.class); OR

PageFactory.initElements(driver, this); } }
WHAT IS STATIC KEYWORD?
 STATIC BELONGS TO CLASS(YOU DON’T NEED TO CREATE OBJECT FOR
INVOKE IT)
 STATIC KEYWORD USED FOR CLASS, METHODS OR VARIABLE TO
MAKE IT GLOBAL
 ALL THE OBJECT WILL SHARE THE SAME VARIABLE
 STATIC METHODS CAN NOT CALL FOR NON-STATIC MEMBERS
 STATIC BLOCK EXECUTED REGARDLESS CREATE OBJECT
WHAT IS THE DIFFERENCES BETWEEN
THROW,THROWS AND TRY CATCH BLOCK?
 THROW IS KEYWORD WHICH USED IN METHOD BODY

EX;THROW NEW NULLPOINTEREXCEPTION();


 THROWS IS USED IN METHOD SIGNATURE TO DECLARED THE EXCEPTION.

EX;PUBLIC VOID TEST() THROWS INTERRUPTEDEXCEPTION{CHECKED


EXCEPTION
 TRY-CATCH BLOCK
 TRY BLOCK GETS EXECUTED WHEN EXCEPTION IS
CHECKED(THREAD.SLEEP),CATCH BLOCK GETS EXECUTED IF THE EXCEPTION
IS UNCHECKED.(ARITHMETIC EXCETION).IF ANY EXCEPTION HAPPENS DURING
RUNTIME IN THE TRY BLOCK, CATCH BLOCK WILL CATCH THAT EXCEPTION.
• I PREFER TRY CATCH BLOCK IN MY FRAMEWORK, CAUSE IF ANY EXCEPTION
HAPPENS DURING RUNTIME MY CODES NOT TERMINATED.
• TRY BLOCK:CODE THAT IS PROTECTED FOR ANY EXCEPTIONS
WHY WE USE FINALLY BLOCK AFTER TRY AND CATCH BLOCK?
 FIRST OF ALL FINALLY BLOCKS GET EXECUTED REGARDLESS TRY AND CATCH BLOCK.

 AFTER WRITING CODE IN THE TRY BLOCK, IF THE EXCEPTION IN THE CATCH BLOCK DOESN’T CATCH IT THEN WE USE FINALLY
BLOCK FOR WRITE SOME STATEMENT..
 FINALLY BLOCK'S ONLY PURPOSE IS TO CLOSE THE RESOURCES WHICH YOU HAVE OPENED INSIDE TRY BLOCK. RESOURCES
COULD BE ANYTHING LIKE DATABASE CONNECTIONS,FILE WRITING/READING ETC:
 CLOSE() STATEMENT IS USED TO CLOSE ALL THE OPEN STREAMS IN A PROGRAM. ITS A GOOD PRACTICE TO USE CLOSE() INSIDE
FINALLY BLOCK. SINCE FINALLY BLOCK EXECUTES EVEN IF EXCEPTION OCCURS SO YOU CAN BE SURE THAT ALL INPUT AND
OUTPUT STREAMS ARE CLOSED PROPERLY REGARDLESS OF WHETHER THE EXCEPTION OCCURS OR NOT.
 InputStream input = null;
try { input = new FileInputStream("inputfile.txt");
} finally {

input.close(); }
 If you use System.exit() in try block then finally block dosen’t get executed.
try { //try block
System.exit(0)
System.out.println("Inside try block");
} catch (Exception exp) {
System.out.println(exp);
} finally {
System.out.println("Java finally block"); }
DIFFERENCE BETWEEN AN EXCEPTION AND AN ERROR?
 BOTH JAVA.LANG.ERROR AND JAVA.LANG.EXCEPTION CLASSES ARE SUB CLASSES
OF JAVA.LANG.THROWABLE CLASS
 IN GENERAL ERRORS(UNCHECKED EXCEPTION) ARE WHICH NOBODY CAN CONTROL OR GUESS
WHEN IT HAPPENED, ON THE OTHER HAND EXCEPTION CAN BE GUESSED AND CAN BE
HANDLED.
 ERRORS WHICH ARE MAINLY CAUSED BY THE ENVIRONMENT IN WHICH APPLICATION IS
RUNNING. FOR EXAMPLE, OUTOFMEMORYERROR OCCURS WHEN JVM RUNS OUT OF
MEMORY.
 RECOVERING FROM ERROR IS NOT POSSIBLE. THE ONLY SOLUTION TO ERRORS IS TO
TERMINATE THE EXECUTION.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy