Automation Test - Interview Q&A - FPT Software Academy
Automation Test - Interview Q&A - FPT Software Academy
First thing I do after login in my system. I check the active sprint in Jira for our project
code. There I can see my assigned open tasks. After that I will check my mail if there is
any important mail I need to take action on. Then we have our daily scrum meeting
where we used to tell our previous day actions what we did, what we are planning for
today and if we have any blocker to discuss. Product owner and scrum master help us
to resolve that blocker. After that I need to take the pending task and do needed action
whether creating test case, Execution, Defect retesting if any.
3. Do you have created framework from scratch, or you have maintained that?
I have not created Framework from scratch by myself but yes, I was part of
framework creation and created some part of it.
5. Can you tell me Oops concepts and relate it with your Framework?
We have Polymorphism, Inheritance, Encapsulation and Abstraction in Oops. So, we will
start with
1) DATA ABSTRACTION
Data Abstraction means to handle complexity by hiding unnecessary details from
the user. In java, abstraction is achieved by interfaces and abstract classes. We
can achieve 100% abstraction using interfaces.
In Selenium, WebDriver itself acts as an interface. Consider the below statement:
2)ENCAPSULATION
Encapsulation is defined as the wrapping up of data under a single unit. It is the
mechanism that binds together code and the data it manipulates. Encapsulation can be
achieved by: Declaring all the variables in the class as private and writing public
methods in the class to set and get the values of variables.
All the classes in an Automation Framework are an example of Encapsulation. In
Page Object Model classes, we declare the data members using @FindBy and
initialization of data members will be done using Constructor to utilize those in
methods.
3)INHERITANCE
Inheritance is the mechanism in java by which one class is allowed to inherit the
features (fields and methods) of another class.
We can apply Inheritance in our Automation Framework by creating a Base Class to
initialize the WebDriver interface, browsers, waits, reports, logging, etc. and then we can
extend this Base Class and its methods in other classes like Tests or Utilities. This is a
simple example of how we can apply Inheritance in our framework.
4) POLYMORPHISM
Polymorphism allows us to perform a single action in different ways. In Java
polymorphism can be achieved by two ways:
– Method Overloading: When there are multiple methods with same name but different
parameters then these methods are said to be overloaded. Methods can be overloaded
by change in number of arguments or/and change in type of arguments.
In Selenium Automation, Implicit wait is an example of Method Overloading. In
Implicit wait we use different time stamps such as SECONDS, MINUTES, HOURS
etc.
– Method Overriding: It occurs when a derived class has a definition for one of the
member functions of the base class. That base function is said to be overridden.
In Selenium Automation, Method Overriding can be achieved by overriding any
WebDriver method. For example, we can override the findElement method
In assertion we have used overload because in assertion we used to like
asset.true(actual, expected) and second time we can use same assert.true(actual,
expected, message).
6. How can you use interface and how it is different from Abstract class?
12. What do you mean by wrapper class and how will you do data conversion?
Wrapper class in java are used for data conversion. In data conversion if user
wants to convert Int to string, String to int, Boolean, double then we use Wrapper
class.
integer.parseInt(); - To convert string to
Integer Double.parseDouble(); - To convert
string to Double Boolean.parse Boolean(); -
To convert string to Boolean String.valueof(); -
To convert Integer to String.
14. What do you mean by Call by Value & Call by Reference in Java?
Call by value means suppose we have created one sum method with input parameter
int a, int b. So while calling the creating the object and running we provide values that is
know as call by value.
18. Which locator you are using in your framework and why?
Mostly we used ID and Xpath because Id is the fastest and unique one and after that
we prefer Xpath. Anyways we have other locators as well like css , class name, tag
name, Link text, Partial Link text.
20. Why declaring the driver object as static in base class is not a good practice in
selenium? What are the challenges we might face if we do the same?
If you perform sequential test case execution, then it will work perfectly. But when you
do the same thing for parallel execution it will stop the execution because your first test
case will use your driver object but at the same another testcase running parallelly they
will also grab the driver object so it may through null pointer exception or may get some
weird result and your script will fail. But if you want to declare driver object as static you
can do. By defining local variable of driver object in each class.
22. Can you tell me how you will handle multiple windows in selenium?
We have windowhandle & windowhandles function for handling Multiple windows.
Windowhandle will give the string value of only the active window that is open whereas
windowhandles will give set of all the windows that are open in browser.
32. Do you work in cucumber, can you tell me what all files
required in cucumber? In cucumber we have Feature file, Step
Definition file and Test Runner file.
In feature file we used to write scenario in gherkin language which is most like in plain
English language. Here we use some of the keywords like feature, scenario, scenario
outline, given, when, then, and, example, background keywords for writing our test
scenarios steps.
In Step Definition file we write mapping code for all the scenario of feature file.
In test Runner file we provide the address of the feature file, step definition file, and
all-important Tags, Plugin, Listeners in that.
37. Can you tell me how you will re-run failed scenario in cucumber?
For that we can use re-run attribute in our test runner file. After that we can write one file
location. Where all the test cases which failed while execution get stored. So next time
while running execution we can give this file location and run the failed TC.
38. You have worked in Cucumber & TestNG according to you which one is best?
I will consider Cucumber as it is most likely understood by Laymen people which is
English plain language. Because in order to understand the functionality flow no need to
go look and script/code. Via Scenario steps lines only we can get clear understanding
about the functionality.
41. Have you used GIT in your project can you explain about it?
Yes I have used GIT, It is a version control tool. Where we can maintain our central
repo. we used to manage our code via GIT only. We use Git to maintain our project in
our local system. So, if someone like to work on that project I need to send complete
update copy to him and after that he can work on that. There are chances that single
project is handled by multiple teams across the globe. So, it will be difficult if we won’t
use GIT.
42. Can you give me some GIT commands which you used on daily basis?
Git status- which shows status of all the files,if we have some files which is not yet
added to our repo so it will give us untracked file.
After that we can use GIT add command after adding it will added to particular index
and we can commit this file using Git Commit-(Message) we can commit this untracked
file. Also we have Git Merge, Git Post, Git Pull, Git It in etc.
44. You have worked in Jenkins can you tell me how you have created jobs in
Jenkins?
We have separate Dev-Ops Team to create Jenkins jobs at broad level but we also
have access to jenkins, so we have created jobs for our internal purpose.
For creating any job we have click on create new job->inside that give name of your job-
>select freestyle project->then add. Beside that we can provide description of our project
and in source code management we can choose Git-> provide repo url ->after that
provide some schedule if you want to run the job on any specific schedule time.-> select
window batch command-file location-save-click on build now for running. After triggering
we can check log in console.
Java main() method is always static, so that compiler can call it without the creation of
an object or before the creation of an object of the class. ... Static method of a class can
be called by using the class name only without creating an object of a class.
The main difference between List and Set is that Set is unordered and contains
different elements, whereas the list is ordered and can contain the same elements
in it.
Method overriding is used to provide the specific implementation of the method that
is already provided by its super class. Method overloading is performed within class.
Method overriding occurs in two classes that have IS-A (inheritance) relationship. In
case of method overloading, parameter must be different.
Static method uses complie time binding or early binding. Non-static method uses
run time binding or dynamic binding. A static method cannot be overridden being
55. Can we declare many interfaces object class inside the interface class.
Selenium Assertions can be of three types: “assert”, “verify”, and ” waitFor”. When
an “assert” fails, the test is aborted. When a “verify” fails, the test will continue
execution, logging the failure. A “waitFor” command waits for some condition to
become true.
Break statement resumes the control of the program to the end of loop and made
executional flow outside that loop. Continue statement resumes the control of the
program to the next iteration of that loop enclosing 'continue' and made executional
flow inside the loop again
Abstract class can inherit another class using extends keyword and implement
an interface. Interface can inherit only an inteface. Abstract class can be
inherited using extends keyword. Interface can only be implemented using
implements keyword.
In the Java programming language, the keyword static indicates that the particular
member belongs to a type itself, rather than to an instance of that type. This means that
only one instance of
that static member is created which is shared across all instances of the class.
62. Have you used the action class and where it is used?
Using the Actions class in Selenium, we can implement the sendKeys() method to
type specific values in the application. That is how you use the actions class in
Selenium with sendKeys() method. ... The perform() method is used to perform the
series of actions that are defined.
There are two types of exceptions: checked exception and unchecked exception.
... The main difference between checked and unchecked exception is that the
checked exceptions are checked at compile-time while unchecked exceptions are
checked at runtime
checked exceptions –
SQLException,IOException,ClassNotFoundException,InvocationTargetException
unchecked exceptions –
NullPointerException,ArrayIndexOutOfBoundsException,ArithmeticException,IllegalArgume
ntException
NumberFormatException
64. Apart from sendkeys, are there any different ways, to type content onto the
editable field?
In non-static method, the method can access static data members and static methods
as well as non-static members and method of another class or same class. Binding
process. Static method uses compile time or early binding. Non-static method uses
runtime or dynamic binding. Overriding.
this keyword mainly represents the current instance of a class. On other hand super
keyword represents the current instance of a parent class. this keyword used to call
default constructor of the same class.
Abstract Classes and Methods Abstract class: is a restricted class that cannot be
used to create objects
Actions is a class that is based on a builder design pattern. This is a user-facing API
for emulating complex user gestures. Whereas Action is an Interface which represents
a single user-interaction action.
Total 11 Annotations -Feature, Scenario, Background, given, when , then, and, but,
example, scenario outline, scenario template.
HashMap and HashSet both are one of the most important classes of Java Collection
framework.
... HashMap Stores elements in form of key-value pair i.e each element has its
corresponding key which is required for its retrieval during iteration. HashSet stores
only objects no such key value pairs maintained.
Maps are used for when you want to associate a key with a value and Lists are an
ordered collection. Map is an interface in the Java Collection Framework and a
HashMap is one implementation of the Map interface. HashMap are efficient for
locating a value based on a key and inserting and deleting values based on a key.
HashMap<String, Integer> map = new HashMap<>();
// Add elements to the map
map.put("vishal", 10);
map.put("sachin", 30);
Option 1: Look for any other attribute which Is not changing every time In that div
node like name, class etc. So If this div node has class attribute then we can write
xpath as bellow.
//div[@class='post-body entry-content']/div[1]/form[1]/input[1]
Option 2: We can use absolute xpath (full xpath) where you do not need to give any
attribute names In
xpath.
/html/body/div[3]/div[2]/div[2]/div[2]/div[2]/div[2]/div[2]/div/div[4]/div[1]/div/div/div/div[1]/div
/div/di
v/div[1]/div[2]/div[1]/form[1]/input[1]
Option 4: We can use contains function. Same way you can use
contains function as bellow.div[contains(@id,'post-body-
')]/div[1]/form[1]/input[1]
The Singleton's purpose is to control object creation, limiting the number of objects to
only one. Since there is only one Singleton instance, any instance fields of a Singleton
will occur only once per class, just like static fields. Singletons often control access to
resources, such as database connections or sockets.
The finally block always executes when the try block exits. This
ensures that the finally block is executed even if an unexpected
exception occurs.
maximum one catch block will be executed. No, we can write multiple catch
block but only one is executed at a time.
POM is an acronym for Project Object Model. The pom. xml file contains
information of project and configuration information for the maven to build the
project such as dependencies, build directory, source directory, test source
directory, plugin, goals etc. Maven reads the pom.
1. java file mai ek hi public class hoti hai, uske alava aur classes v ho sakti hai par
public ek hi.
2. If we need to create one variable for multiple values, we need to use Array concept.
3. Int marks[] = new int[5]
4. Array can store only homogenous data, int for int array, string for string,
5. If we need to add heterogeneous data in array, we need to create object array.
6. Object a[] = new Object[5]; now we can add different data type objects.
7. Array is fixed in size, which we define while creating.
8. If we try to access index value >= given index value, we got
arrayOutOfBundException.
9. Arrays are not defined by any data layer structure so we can’t run readymade
methods on it.
10. To overcome this, we have collection framework under which there are
ArrayList, List, HashMap, HashTable, Tree, Stack.
11. We can add new elements in run time under collections while in array we cannot.
12. Collection is a group of objects. To represent this we need certain interfaces and
classes.
13. Common operations we generally do on collections are adding objects, removing
objects & finding object.
14. Collection (I) is called collection interface having methods which are common
throughout all collections.
15. Collections is basically a class from java.util package which contains some
methods which we can use for collection objects.
16. Collection – 1. List, 2. Set, 3. Queue
17. List (I) is child of collection(I). In list Insertion order is preserved and duplicates are
allowed.
18. ArrayList, LinkedList, Vector these are different classes which implements List
Interface.
19. Set(I) is child of collection(I). Insertion order is not preserved & duplicates not
allowed.
20. HashSet, Linked Hashset these are different classes which implements Set
Interface.
21. Queue(I) is child of collection(I). We used it when we need prior to processing
means first in first out concept.
22. priorityQueue is class which implements Set Interface.
23. There is one independent interface known as Map(I). In Map(I) objects are created
with key and value pair. Key cannot be duplicate, but Value can be.
24. Hashmap, Linked Hashmap, Hash Table these are different classes which
implements Map
Interface.
25. Whatever methods present in Collection(I) are also present in their child interface
i.e List, Set, Queue.
5. Verify maven
6. Maven Repository
There are 3 types of maven repository:
• Local Repository
• Central Repository
• Remote Repository
Maven searches for the dependencies in the following order: Local repository then
Central repository then Remote repository. Local Repository: Means .m2 folder in
your system
Central Repository: Maven central repository is located on the web. It has been
created by the apache maven community itself
Remote Repository: Company Specific Library or Custom Library <project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>Cucumber</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>selenium</name>
<url>http://maven.apache.org</url>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.5.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
1.How does put() method of HashMap works in Java? On hashing principle of key value
pair
======================================================================
Array one line que.
1. How to remove duplicate elements from ArrayList? we can handle this scenario via
LikedHashSet
ArrayList<Integer> numbers = new
ArrayList<Integer>(Arrays.asList(1,2,2,4,6,7,2,3,5,4,3,8,2,8)); LinkedHashSet<Integer>
linkedHashSet = new LinkedHashSet<Integer>(numbers); ArrayList<Integer>
numbersListWithoutDuplicate = new ArrayList<Integer>(LinkedHashSet));
System.out.println(numbersListWithoutDuplicate);
5. How will you print length of string without using length method.
String str = “Pankaj”
Sysout(str.toCharArray().length);
Sysout(str.lastIndexOf(“”));
1.
String str = “Pankaj”; int len = str.length();
String rev = ” ”
for(int i<len-1 , i>=0, i-
-){ rev = rev +
str.charAt(i);
}
Sysout(rev);
2.
Create a string-> create new stringBuffer and here you can apply reverse fuction.
String str = “Pankaj”;
StringBuffer sf = new
StringBuffer(s);
Sysout(sf.reverse());
========================================================================
//How to handle alert in Selenium write the syntax.
public boolean isAlertPresent() {
try
{
driver.switchTo().alert();
return true;
}
catch (Exception e)
{
return false;
}
}
-----------------------------------------------------------------------------------------------------------------------------
@Test // How can you switch to alert in selenium.
public void test4() {
driver.switchTo().alert().accept();
driver.switchTo().alert().dismiss();
Alert text = driver.switchTo().alert();
System.out.println(text.getText());
}
-------------------------------------------------------------------------------------------------------------------------------
@Test // How can you switch to frame in selenium
public void test5() {
In Page Object Model design pattern, we write locators (such as id, name, xpath etc.,) in a
Page Class. We utilize these locators in tests, but we can’t see these locators in the tests.
Literally we hide the locators from the tests.
Abstraction is the methodology of hiding the implementation of internal details and
showing the functionality to the users.
INTERFACE
Basic statement we all know in Selenium is WebDriver driver = new FirefoxDriver();
WebDriver itself is an Interface. So based on the above statement WebDriver driver = new
FirefoxDriver(); we are initializing Firefox browser using Selenium WebDriver. It means we are
creating a reference variable (driver) of the interface (WebDriver) and creating an Object. Here
WebDriver is an Interface as mentioned earlier and FirefoxDriver is a class.
An interface in Java looks like a class but both the interface and class are two different
concepts. An interface can have methods and variables just like the class, but the methods
declared in interface are by default abstract. We can achieve 100% abstraction and multiple
inheritance in Java with Interface.
INHERITANCE
We create a Base Class in the Framework to initialize WebDriver interface, WebDriver waits,
Property files, Excels, etc., in the Base Class.
We extend the Base Class in other classes such as Tests and Utility Class. Extending one
class into other class is known as Inheritance.
POLYMORPHISM
We use a method which was already implemented in another class by changing its parameters. To
understand this you need to understand Overriding in Java.
Declaring a method in child class which is already present in the parent class is called Method
Overriding. Examples are get and navigate methods of different drivers in Selenium.
ENCAPSULATION
All the classes in a framework are an example of Encapsulation. In POM classes, we declare the data
members using @FindBy and initialization of data members will be done using Constructor to utilize
those in methods.
Encapsulation is a mechanism of binding code and data together in a single unit.
I would like to discuss some other topics which we use in Automation Framework.
WEB ELEMENT:
Web element is an interface used to identify the elements in a web page.
WEBDRIVER:
WebDriver is an interface used to launch different browsers such as Firefox, Chrome, Internet Explorer,
Safari etc.,
FIND BY:
FindBy is an annotation used in Page Object Model design pattern to identify the elements.
FIND ELEMENT:
Find Element is a method in POM to identify the elements in a web page.
driver.getClass();
driver.getCurrentUrl();
driver.getPageSource();
driver.getTitle();
driver.getText();
driver.findElement(By.id("findID")).
getAttribute("value");
driver.getWindowHandle();
driver.findElement(By.partialLinkText(“abode”)).click();
selectByValue.selectByValue("greenvalue"); - By Value
selectByValue.selectByIndex(2); - By Index
driver.findElement(By.<em>id</em>("submit")).submit();
driver.quit();- closes all the windows that were opened by the WebDriver instance
#4) isEnabled()
isEnabled() to Check Whether the Element is Enabled Or Disabled in the Selenium WebDriver.
driver.manage().timeouts().pageLoadTimeout(500, SECONDS);
implicitlyWait() to set a wait time before searching and locating a web element.
driver.manage().timeouts().implicitlyWait(1000, TimeUnit.SECONDS);
untill() from WebdriverWait and visibilityOfElementLocated() from ExpectedConditions to wait
untill() from WebdriverWait and alertIsPresent() from ExpectedConditions to wait explicitly till
an alert appears.
);
Select class for selecting and deselecting values from the drop-down in Selenium WebDriver.
WebElement mySelectedElement = driver.findElement(By.id("select"));
driver.navigate().back();
driver.navigate().forward();
actions.moveToElement(mouseHover);
actions.perform();
dragAndDrop() from Actions class to drag an element and drop it on another element.
actions.dragAndDrop(sourceLocator, destinationLocator).build().perform();
switchTo() and accept(), dismiss() and sendKeys() methods from Alert class to switch to popup
alerts and handle them.
alert.sendKeys("This Is Softwaretestinghelp");
alert.accept()
driver.switchTo().window(handle);
When requirement keeps changing, continuously agile tester should take following approach
• Write generic test plans and test cases, which focuses on the intent of the
requirement rather than its exact details
• To understand the scope of change, work closely with the product owners or business analyst
• Make sure team understand the risks involved in changing requirements especially
at the end of the sprint
• Until the feature is stable, and the requirements are finalized, it is best to wait if
you are going to automate the feature
• Changes can be kept to a minimum by negotiating or implement the changes in the next sprint
List out the pros and cons of exploratory testing (used in Agile) and scripted testing?
Pros Cons
Exploratory - It requires less preparation- Easy to - Presenting progress and Coverage to project
Testing modify management is difficult
when requirement changes- Works well
when
documentation is scarce
Scripted - In case testing against legal or - Test preparation is usually time-consuming-
Testing regulatory Same
requirements it is very useful steps are tested over and again- When
requirement
changes it is difficult to modify
- In scrum, the product owner prioritizes the product - XP team work in strict priority order, features
backlog but the developed are prioritized by the customer
team decides the sequence in which they will develop
the backlog items
- Scrum does not prescribe any engineering practices - XP does prescribe engineering practices
Epic: A customer described software feature that is itemized in the product backlog is known as
epic. Epics are sub-divided into stories
User Stories: From the client perspective user stories are prepared which defines project or
business functions, and it is delivered in a particular sprint as expected.
Task: Further down user stories are broken down into different task
To improve the performance, the existing code is modified; this is re-factoring. During re-
factoring the code functionality remains same
6) Explain how you can measure the velocity of the sprint with varying team capacity?
When planning a sprint usually, the velocity of the sprint is measured on the basis of
professional judgement based on historical data. However, the mathematical formula used to
measure the velocity of the sprint are,
7) Mention the key difference between sprint backlog and product backlog?
Product backlog: It contains a list of all desired features and is owned by the product owner.
Sprint backlog: It is a subset of the product backlog owned by development team and
commits to deliver it in a sprint. It is created in Sprint Planning Meeting
8) In Agile mention what is the difference between the Incremental and Iterative development?
Incremental: Incremental development segregates the system functionality into increments or portions.
In each increment, each segment of functionality is delivered through cross-discipline work, from the
requirements to the deployment.
Sprint Zero: It is introduced to perform some research before initiating the first sprint. Usually
this sprint is used during the start of the project for activities like setting development
environment, preparing product backlog and so on.
Spikes: Spikes are type of stories that are used for activities like research, exploration,
design and even prototyping. In between sprints, you can take spikes for the work related to
any technical or design issue. Spikes are of two types Technical Spikes and Functional
Spikes.
Test driven development or TDD is also known as test-driven design. In this method, developer
first writes an automated test case which describes new function or improvement and then
creates small codes to pass that test, and later re-factors the new code to meet the acceptable
standards.
Prototypes and Wireframes are prototypes that are widely used as part of Empirical Design.
To track the project progress burnup and burn down, charts are used.
Scrum ban is a software development model based on Scrum and Kanban. It is specially
designed for project that requires frequent maintenance, having unexpected user stories and
programming errors. Using these approach, the team’s workflow is guided in a way that allows
minimum completion time for each user story or programming error.
It is used to discuss the difficulty of the story without assigning actual hours. The most common
scale used is a Fibonacci sequence ( 1,2,3,5,8,13,….100) although some teams use linear
scale (1,2,3,4….), Powers of 2 (1,2,4,8……)
and cloth size (XS, S ,M,L, XL).
The tracer bullet is a spike with the current architecture, the current set of best
practices, current technology set which results in production quality code. It is not a
throw away code but might just be a narrow implementation of the functionality.
18) What are the differences between RUP (Rational Unified Process) and Scrum
methodologies?
RUP SCRUM
- Formal Cycle is defined across four phases, but - Each sprint is a complete cycle
some workflows can
be concurrent
- Formal project plan, associated with multiple - No end to end project plan. Each next iteration
iterations is used. plan is determined at the end of the current
iteration
- Scope is predefined ahead of the project start and - It uses a project backlog instead of scope scrum
documented in
the scope document. During the project, scope can
be revised.
- Artifacts include Scope Document, formal functional - Operational software is the only formal artifacts
requirements
package, system architecture document,
development plan, test
scripts, etc.
- Recommended for long term, large, enterprise level - Recommended for quick enhancements and
projects with organization that are not dependent on a deadline
medium to high complexity
19) Why Continuous Integration is important for Agile?
Continuous Integration is important for Agile for following reasons.
• It helps to maintain release schedule on time by detecting bugs or integration errors
• Due to frequent agile code delivery usually every sprint of 2-3 weeks, stable
quality of build is a must and continuous integration ensures that
• In helps to maintain the quality and bug free state of code-base
• Continuous integration helps to check the impact of work on branches to the main
trunk if development work is going on branches using automatic building and merging
function
The primary testing activities during Agile is automated unit testing and exploratory testing.
Though, depending on project requirements, a tester may execute Functional and Non-
functional tests on the Application Under Test (AUT).
Velocity is a metric that is calculated by addition of all efforts estimates related with user
stories completed in an iteration. It figures out how much work Agile can complete in a sprint
and how much time will it need to finish a project.
22) What are the qualities of a good Agile tester should have?
• Scrum Masters: It coordinates most of the inputs and outputs required for an agile
program
• Development Managers: They hire right people and develop them with the team
• Re-factoring
• Non-solo development
• Static and dynamic code analysis
• Reviews and Inspection
• Iteration/sprint demos
• All hands demo
• Light weight milestone reviews
• Short feedback cycles
• Standards and guidelines
• BugDigger
• BugShooting
• qTrace
• Snagit
• Bonfire
• Usersnap
If a timebox plan needs to be reprioritized it should include whole team, product owner, and
developers.
The burn-down chart shows the remaining work to complete before the timebox (iteration) ends.
• Scrum: In the scrum, a sprint is a basic unit of development. Each sprint is followed by a
planning meeting, where the tasks for the sprint are identified and estimated. During
each sprint, the team creates finished portion of a product
• Agile: In Agile, each iteration involves a team working through a full software
development cycle, including planning, design, coding, requirement analysis, unit
testing, and acceptance testing when a product is demonstrated to stakeholders
In simple words, Agile is the practice and scrum is the process to following this practice.
• Is functionality split-able
• Is customer available
• Are requirements flexible
• Is it really time constrained
• Is team skilled enough
33)Explain how can you implement scrum in an easy way to your project?
These are the tips which can be helpful to implement scrum in your project.
A product roadmap is referred for the holistic view of product features that create the product
vision.