SDET Flashcards
What does SDLC mean and phases?
Software development life cycle
- Planning
- Design
- Development
- Testing
- Deployment
- Maintenance
What is the “Planning” phase?
Customers talks with the product owner and their business requirements. Product owner reviews business feasibility and resources. Once it has been approved, he shares with the rest of the team. These can include Developer, SCRUM, Design, and Tester.
What is “Design” phase?
UX UI reviews the business requirements from the customer’s specification on the front-end. While on the back-end, we see what program language will be used to develop the software.
What is “Development” phase?
Developers begins to code and Software Engineers QA creates Test Codes.
What’s a Test Code?
A documentation on the customer’s specifications on what needs to be tested to make sure its functional.
What is “Test phase?”
Test bugs, validate the functionality, and automate test cases.
What is “Deployment Phase?”
Showcase to the client on the project that we created. Once satisfied, we move the project from localhost to server-side.
What is “Maintenance” phase?
Monitors for bugs from end-user and reports back to the team if its critical.
What are the two methodologies?
Agile / Waterfall
Explain Agile Methodology
Agile is incremental and has a iterative approach to managing a project.
Why do we need Agile? Back in 2000?
Applications were monolithic, when one part of the application failed all of it failed as well.
Requirements can be changed quickly
Values of Agile
People over process and tools
Working software over comprehensive documentation
Customer collaboration over rigid contracts
Responding to change rather than following a plan
Principle of Agile
Satisfy the customer. Welcome changing requirements. Deliver working software frequently Frequent interaction with Stakeholders Motivate individuals Face to face communication
Principles of Agile
Measured by working software
Maintain constant pace
Keep it simple
Empower self-organizing teams
How to implement Agile?
Scrum Extreme Programming Lean Kanban Crystal
What is Scrum?
Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
Is a framework
Scrum solves the adaptive complex problems
Incremental and Iterative
What is Scrum?
Iteration of plan
Build
Test
Review
Scrum Team Members
Product owner
Scrum Master
Development team(technical lead, developer, SDET).
Product Backlog
Prioritized list of work for the development team that is derived from the roadmap and its requirements.
The most important items are shown at the top.
What is “User stories?”
Is the smallest unit of work in anagileframework
A general explanation of a software feature is written from the perspective of the end-useror customer.
What is “Sprint?”
A short, time-boxed period when a scrum team works to complete a set amount of work. Will help your agile team ship better software with fewer complications.
What is “Scrum Ceremonies?”
Meetings
- Daily Scrum Meeting
- Sprint Planning Meeting
- Sprint Review Meeting
- Sprint Retrospective Meeting
Sprint Backlog Grooming Meeting
(Product Backlog Refinement)
Who attends these meetings?
Performed in the middle of each sprint to refine the user stories for the next sprint
Prioritize user stories
Estimate the time to deliver the user stories
Product Owner, Scrum Master, and Development team attend this meeting
How long are Daily Scrum Meetings?
What questions might they ask?
A 15-minute daily meetingwhere the team has a chance to get on the same page and put together a strategy for the next 24 hours
What was done yesterday by the scrum team that helped meet the sprint goal?
What will be done today that will help meet the sprint goal?
Are there impediments that are preventing the team from meeting the sprint goal?
Sprint Review/Demo Meeting
Is held at the end of the Sprint to inspect the Increment.
The Team demonstrates the Increment with a focus on the Sprint Goal according to the Definition of Done. The Product Owner reviews and accepts the delivered Increment.
What are the objectives of the Sprint Review Meeting?
The work committed by the team
The actual work completed by the team
Key decisions made during the iteration/sprint (this may include technical, market-driven, requirements, etc.,)
Project metrics (code coverage, etc.)
Demo of the work itself
Sprint Retrospective (Retro) Meeting
What questions will they ask?
What went well?
What went wrong?
How to improve?
What are the “Scrum Values”
Commitment Courage Focus Openness Respect
Explain who is a Client (Customer)?
A person or organization has an idea and capital.
Willing to invest and provide better services to customers.
Explain who is a Product Owner?
What are their responsibilities?
Responsible for maximizing the value of the products created by a development team.
Responsibilities Defining the vision Managing the project backlog Prioritize the needs Overseeing the development stages Anticipating the client needs
Explain who is a SCRUM master?
What are their responsibilities?
Is the team role responsible for ensuring the team lives agile values and principles and follows the processes and practices that the team agreed they would use.
Responsible for facilitating the Scrum process
Helps build self-organizing teams
Removes impediments, escalates when needed
Protects the team from disturbances
Explain what a UX Designer does and their responsibilities.
A UX designers conduct user research, design, write UX copy, validate/test with user and sell/present the design solution to the business.
It’s the UX designer’s role to be the voice of the user and advocate for the users needs while balancing the business goals.
Explain UI Designer and their responsibilities.
UI design focuses on the user’s visual experience.
It determines how a user interacts with an interface—be it an app, a video game or a website. It’s all about how the user navigates from A to B via different visual touch points.
Explain Software Architect and their responsibilities.
Asoftware architectis asoftwaredevelopment expert.
Software Architect makes high-level design choices and tries to enforce technical standards, includingsoftwarecoding standards, tools, and platforms.
What is a Software Developer and their responsibilities.
A Software Developer write codes and develop the software applications
Responsible to develop new software software product or modified the existing one.
Researching, designing, implementing, and managing software programs
Identifying areas for modification in existing programs and subsequently developing these modifications
Writing and implementing efficient code
Determining operational practicality
Maintaining and upgrading existing systems
Working closely with other developers, UX designers, business and systems analysts
What is a Software Tester and their responsibilties?
A Software Tester checks if the actual product matches the requirement, and it is bug or defect free.
Reviewing the software requirement
Preparing the test cases
Executing the manual and automation test cases
Making sure application meets customer requirements and bug free.
End User
is a person who ultimately uses or is intended to ultimately use a product.
Waterfall Model
It is a breakdown of project activities into linearsequentialphases, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks.
Agile vs Waterfall
Agile follows incremental and iterative approaches
Agile is flexible
Testing is performed concurrently with software development.
Waterfall is a Liner Sequential Life Cycle Model
Waterfall is structured
The “Testing” phase comes after the ”Development” phase
Computer
an electronic machine that is used to input, process, and then output data, typically in binary form
Binary
0 and 1
Binary Code
0 and 1, also known asOFF or ON
Letters, numbers, symbols, shapes, images, sounds
ASCII Code
American Standard Code for Information Interchange
Used to convert each letter into Binary Code and visa versa
Programming Language
Set of rules to tell computer what to do
JAVA
is a object-oriented programming (OOP)
JVM and explain
Java Virtual Machine
The JVM is how we run our Java programs. We configure the JVM’s settings and then rely on it to manage program resources during execution.
JAVA Compiler and explain
It converts (translates) source code (.java file) into bytecode (.class file).
Byte Code
Is the machine code in the form of a .class file.
Byte code consist of binary code and is non-runnable and executed by the VM then the CPU.
\n
new line
\t
tab
\
inserts a backward slash “"
'
single quotation
"
inserts double quotation
What are the 8 primitives?
byte, short, long, double, float, int, boolean, char
Reference Data Types
Known as objects.
Non-floating numbers
byte, short, long, int
Floating Numbers
Float, double
Boolean
True or false
Char
Single Character
What are escape sequences? List them.
- \n
- \t
- "
- '
- \
What are the 2 ways we store data?
OOP and primitive data types
Where do you think testing starts in the SDLC?
Testing is in all the SDLC phases.
In testing phase, we are executing the test cases and making sure that functionalities are working as expected and application is bug free.
Verification:
Going through the documentation and understanding the requirement is verification.
Validation:
After the development is completed, it is time to test the functionality if it is working. Testing the functionality is validation.
What is SCRUM?
is an agile process that allows us to focus on delivering the highest business value in the shortest time.
What is “Variable?”
Variables are also described as?
Special container that stores data.
Labels that describe a particular location in memory and associate it with a data type.
Variable naming
‘a’ to ‘z’, ‘A’ to ‘Z’, numbers from ‘0’ to ‘9’, character ‘_’, and character ‘$’ for naming the variables
List variable names that it cannot have?
A variable name cannot contain space character
A variable name cannot start with a digit
Upper and lower case are different characters.
EX/ SUM and sum or
sum are different
A variable name cannot be a reserved keyword by Java (public or class)
A variable name cannot be used twice in the same block of the program
What is “Variable Declaration?”
A declaration of a variable means the program allocates memory for the variable
What are the 2 possible ways to declare a variable?
dataType variableName;
this specifies its data type and reserves memory for it
dataType variableName = initialValue;
specifies its data type and reserves memory for it and puts initial value into that memory. The initial value must be correct data type
What is variable assignment?
Assignment of a variable means the putting a value into allocated memory for variable
variableName = value;
ex) “=“ means “assignment”
ex) int age = 45; //declared and assigned
ex) int numberOfStudents; // declared
ex) numberOfStudents = 100; // assigned
How do you declare multiple variables?
Java allows to declare and initialize multiple variables in the same statement
int age1, age2;
byte number1 = 10, number2 = 20, number3 = 50;
Many variables can be declared in the same statement if they are all same type
int num1, num2, num3 = 45, num4, num5;
What is Java Naming Convention?
Java naming convention is a rule to follow for naming your identifiers such as package, class, method, variable etc.
not forced to follow