QA SDLC
What is a new application/software/product
o Project to be built using a new concept/idea o Everyone is learning how it works at the same time
What are a few differences between smoke testing and ad-hoc testing
o There are no differences, they are the same type of testing
What is the iterative development
o To develop a software system incrementally o Starts with an initial planning and ends with deployment with the cyclic interaction in between o Development team receives feedback at early stages in the overall development process o Rapid feedback from actual user o Flexibility to address evolving requirements o Design flaws discovered quickly o Easy to roll-out new functionality in stages o Higher motivation and great productivity o Very little knowledge loss between phases
What are a few guidelines for a tester
o Understand the software by reading the documentation or exploring the software o Decide the strategy to test the software, manual or automation o Report results of test cases o Regression testing
What are the different software testing types/levels
o Unit testing o Integration testing o Smoke testing/Build Acceptance Testing (BAT)/Ad-Hoc/Build verification testing/Exploratory testing o System/End to End testing/System Integration testing (SIT) o Functional & Regression testing o User acceptance testing
What are some project management tools
o Microsoft Projects o Basecamp o OneDesk o Confluence o Producteev
Who is a product owner
o A representative from the business/client o Creates and prioritizes product backlog o Manages releases, describes features to the team
What are the scrum artifacts
o Product backlog o Sprint backlog o Burndown chart
What is the Test Case Design and Development phase of the STLC?
- Based on the test plan, testers design and develop test cases. - Create test cases - Prioritize test cases (based on researching which of them are most common or which of them would affect the product the most.) - Prepare automated scripts for test cases
What is a test suite
o A collection of test cases/test scripts that are intended to be used to test a software/program/application o Grouped together based on their similarities/functions/cycles to run
What are the scrum roles
o Product owner o Scrum master o Scrum team
What is the Test planning phase of the STLC?
- QA team creates this plan after analyzing all necessary testing requirements. - Outline the scope and objectives after understanding the product domain. - Analyzes risk involved and defines time schedules and testing environments to create a strategy. - Finalize tools and assigns tasks to teams and individuals. - Timeline is defined for which each module should be finished testing. - Produce Test Plan document describing the motivation and details of the testing activities for a given project.
What is the Requirements Analysis phase of the STLC?
- View, study, and analyze the available specifications and requirements. - Understand the expected output from the product - Pick out the testable requirements - Decide which requirements are for manual vs automation testing. - RTM is developed - Collect priorities
What is the test execution phase of the STLC?
- run test cases - identify any bugs - log failed cases with details - test again after bug fixes
What is the test environment setup in the STLC?
- testing activities need servers, frameworks, hardware, and software; understand the minimum requirements. - list software and hardware required for different levels of performance - prioritize test environments - setup test environments - smoke test the built environments
What is the Test Closure phase of the STLC?
- verify that all tests are completed - evaluate factors such as quality, test coverage, timeline, and cost. - Document the conclusion - Discuss the learning and find out if the testing process can be improved - Prepare the test closure report
What are the phases of the STLC?
1. Requirement Analysis 2. Test Planning 3. Test Case Design 4. Test Environment Setup 5. Test Execution and Defect reporting 6. Test Closure
What is the difference between Test Cases and Test Script
A test case is a list of procedural steps in order to test a specific behavior in the software. A test script is a script/ program consisting of a set of procedural instructions to automate the testing of a specific behavior in the software. Test cases are manual testing, test scripts are automated testing.
What is Functional and Regression testing
Functional testing: o Testing the more detailed behavior of the application under test (AUT). o Verifying the business process/functions o Positive testing: make sure the system does what it's supposed to do o Negative testing: make sure the system does not do any thing it is not supposed to do. Regression Testing: o Re-testing the application after some changes to see if it is doing what it's supposed to do o Verify defect/bug fixes that's logged initially o Introduce/produce unintentional bug/defect, due to an intended fix o Functionalities in previous release/builds are working in the current builds.
What is the software test life cycle? (STLC)
The process of executing a sequence of different activities performed by the testing team, to ensure the quality of the software/product.
What is the agile manifesto
We value: o Individuals and interactions over processes and tools o Working software over comprehensive documentation o Customer collaboration over contract negotiation o Responding to change over following a plan
What is the initial phase of the SDLC
o A high-level view of the intended project and defining its goals o Kick-off meeting: the first meeting with the project team and the client of the project; a project manager is placed in charge, and he/she will develop a concept proposal/SOW o Engagement manager (EM) would discuss the financial matters o Service level agreement (SLA): services, support, cost... o Project approval document (PAD): formal approval by client o Business analyst (BA): gather information/client requests and initiate documentations (use case, user stories, BRD, etc) o Output: feasibility study, outline the business goals, define the project's scope, assess project demand
What is a kick-off meeting, when does it take place
o A kick-off meeting is the first meeting with the project team and the client of the project; a project manager is placed in charge, and he/she will develop a concept proposal/SOW. o A kick-off meeting occurs in the initial phase of the SDLC
What is the waterfall method
o A "top down" approach o Move on to the next step only after the present step is completed o No scope for jumping backward or forward or performing two steps simultaneously o Bugs and errors in the code are not discovered until and unless the testing stage is reached o Lack of flexibility, difficulty in predicting actual needs for the software, the loss of intangible knowledge between phases, discouragement of team cohesion, and the tendency to not discover design flaws until the testing phase.
What is the agile method
o A group of software development methodologies based on iterative development o Break tasks into small increments and short time frames ("sprints") that typically last from one to four weeks o Customer is more actively involved, and gets higher priority o Customer is assured of receiving some functionality by a fixed time period o More emphasis is on developing the application only, and not on documentation o Simple and minimal documents are used to exchange the views- Use case and User story
What is the SMART requirement guideline
o A guideline that a business analyst should follow when writing requirements o Specific, Measurable, Attainable (Achievable, Actionable, Appropriate), Realistic, Time-bound (Timely, Traceable)
What is a requirement/ How many different types of requirements are there/ State each type
o A requirement is a description of expectations/wants from a system o There are two types of requirements, functional and nonfunctional o Functional: what the system should do o Nonfunctional: describe how a system should behave and what limits there are on its functionality. Usually by restricting the types of solutions that meet the functional requirements. (usability, reliability, performance, supportability/compatibility, security)
What is a test script
o A script/program written in a scripting/programming language that automates the testing of a specific behavior in software o Step-by-step actions of a specific interaction between user & the software is captured in an automated tool.
What is a sprint backlog
o A scrum artifact o Features selected from product backlog o Features to be implemented in current sprint o A living document - updated on a daily base
What is a product backlog
o A scrum artifact o Wish-list/ a list of features to be implemented/ exploration of features o Contains user stories/ use cases, defects, SCRs o A living document - updated and prioritized by Product Owner
What is a burndown chart
o A scrum artifact o Graph representation of work done and left to be done in the sprint (remaining features to be implemented) o Visibility of work status/progress and update every day o Transparency about the current performance o A burn-up chart shows how many features were completed
What is a test case, and what are the components of a test case
o A test case is a specific interaction/ list of procedural steps in order to test a specific behavior in the software o Components of the test case: use case/ user story, requirements, test case name, unique identifier, pre-condition, step numbers, input, design steps/description, output, post-condition
What is a test case
o A test case is a specific interaction/ list of procedural steps in order to test a specific behavior in the software o Usually used for manual testing
What is a user story and the correct format of a user story
o A very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it. o Description of a feature from the end-user perspective that expresses the reason for that feature o Format for user story: As a WHO, I want WHAT, so that WHY o Example: As a customer, I want to order online so that I don't have to leave my house.
What is smoke testing/Build Acceptance Testing (BAT)/Ad-Hoc/Build verification testing/Exploratory testing
o All these terms are synonymous o Random testing o Makes sure that the build is not destabilized after changes in the code o Tests the most important functionalities for each module
What is a bug and what are its synonyms
o An unwanted behavior/outcome of a software system or application. o Abnormal behavior of the software/system o Specific concern about the quality of the AUT o Difference between expected and actual behavior of the software o Anything that can hamper the functioning or execution of the software application or service o A failure of a certain section of the code to function accurately o Synonyms: defects, failure, fault, errors, flaws.
What is a QA
o Assures the quality of a software/system/application by testing throughout the development life cycle in order to ensure a bug/defect free product and that all requirements were met.
What is BAT & SIT
o BAT (Build acceptance testing): synonymous with smoke testing. Tests the most important functionalities for each module to make sure they work correctly. o SIT (System Integration Testing): synonymous with system testing and end-to-end testing. Tests the system as a whole to make sure it meets all the functional and quality requirements
What is black box and white box testing
o Black box testing: testing without the knowledge of the code; examines functionality; integration, system and UAT testing o White box testing: testing with the knowledge of the code; testing structure of the code; examines internal structures; unit testing, clear box testing, glass box testing, structural testing; must have programming knowledge o As a QA you will do black box testing mostly
How do you assure the quality of an application
o By testing the functionality, performance, and security
How would you test a product/write test cases if AUT is not available
o Check to see if an existing version if available and familiarize yourself with that o Read the requirements and documentation to get an understanding of what the product is o Use these things to develop test cases
What is integration testing
o Combining multiple components that have already been tested individually to see if they work well together o Identifies problems that occur when units are combined
What is an acceptance criteria
o Conditions that you must meet in order to successfully complete the task o Use case and user stories must have acceptance criteria.
What is the role of QA in the Agile environment
o Continuously study and review all project documentations o Attend various project/scrum meetings and keep QA team informed o Capture complex and negative behaviors in AUT, think beyond the 'happy path' o Write test cases, create test scripts, clarify questions/concerns with PO/PM/BA/DEV/SME o Pair up with developers for reproducing defects, writing unit test cases and for discussing QA test scenarios o Perform and automate regression testing and suites o Perform negative, boundary and smoke/ad-hoc testing formally/informally o Be available and flexible in providing immediate support to Devs on retesting defect fixes and run regression test cases/scripts/suites o Stay focused and informed of new user stories, defect status, test deliverables o Maintain the criteria for DoD (definition of done) and improve quality of AUT o Maintain all test artifacts - test strategy, test plan, RTM, TC, minutes, etc. o This summarizes your life as a QA
What is the sprint review meeting
o Demonstration of implemented features/defect fixes o 'Demo' to Stakeholders/Business - done after each sprint
What is an existing application/software/product
o Project that has been created already and has been in use. o When modifying an existing application, you have to spend some time to get up to speed and understand how it works.
What is the coding phase of the SDLC
o Developers write the programs for the project by following the coding standard and project documentations - use case, user stories, TRD, TDD, DDD, BDD, BRD o Developers would prepare the Source Code (github) o Software, hardware, and testing occur at this stage o Contingency plan is also developed at this point
What are software development methodologies
o Different methods on how to approach the software development process; The Waterfall method and agile method are two software development methodologies
What is a sprint retrospective meeting
o Discussion of goods and bads of the sprint o Constructive criticism - people, relationships, process and tools o What went well, what didn't and areas of improvement o Actionable suggestions to improve performance o Hosted and moderated by scrum master o Meeting time - boxed to 1-2 hours
What does the scrum team do
o Estimate and implement features o Sprint backlog => shippable product o Tracks work progress every day- daily scrum meeting o Communicate with product owner/scrum master/leads and alert when there are problems
How do you know if it's a bug
o General answer: Software does not adhere to the requirements o Software doesn't do what the spec/req says it should do o Software does do what the spec/req says it shouldn't do o Software does something that the spec/req doesn't mention o Software doesn't do something that the spec/req doesn't mention, but it should o Software is difficult to understand, hard to use (in the software tester's eyes/ will be viewed by end user), just plain not right
What is the design phase of the SDLC
o High-level designing: project is divided into number of modules - technical manager (TM), or Chief Architect (CA) or Solutions Architect (SA) o Low-level designing: designing the modules are further divided into number of submodules - Dev Team Lead (DTL) o The chief architect/Developer's Lead would prepare the Technical Design Document (TDD) or technical requirements documents (TRD), or Detail Design document (DDD). o Take those requirements and develop detailed, workable specifications o Everything is put together and the actual design of the system is done
Why are there bugs in an application
o Inaccurate understanding of end-user needs o Inability to deal with changing requirements o Software that is hard to maintain o Late discovery of serious flaws o Lack of focus on quality
What are the phases in the software development life cycle (SDLC)
o Initial phase o Analysis phase o Design phase o Coding phase o Testing phase o Delivery and maintenance phase
What are the phases of the Project life cycle (PLC)
o Initiation o Planning & Design o Executing o Monitoring & Controlling o SDLC o Closing
What are the project manager's responsibilities
o Interfacing with other stakeholder groups, including end users and senior management o Interfacing with technology staff, including PLs, systems analysts, programmers, etc. o Developing the Project Plan (PP) o Overseeing the feasibility study o Managing one or more projects o Maintaining the schedule (allocating and reallocating resources as necessary) o Keeping the project on budget o Overseeing project tracking and control
When should you find bugs
o It is important to discover bugs as soon as possible in the early stages of the SDLC, otherwise it would grow into a bigger problem, and cost the company more time and money.
What would you test in a website
o Make sure the website is directing you to the correct page o Major functionalities are working o Cross browser testing o Does it perform well o Does webpage adjust to screen size o End to end testing
What is a Requirements Traceability Matrix (RTM)
o Mapping between test cases and requirements o Allows for an organized view of test cases as they relate to the specific requirements.
What is meeting minutes
o Meeting minutes are notes that are taken at the meeting o Highlight the key issues raised during the meeting
What is the software bug life cycle
o New (a bug's life begins when it's discovered/found by QA) o Open (click on the bug details and read it) o Assign (QA assigns the bug to developer) o Rejected (after assign; Developer disagrees/doesn't think it's a bug) o Deferred (after assign; Developer doesn't need to fix right away/ lower priority) o Test (QA tests to see if bug was fixed) o Reopen (after test; bug was not resolved, reassign it) o Verified (verify that the bug was resolved) o Closed (Bug was resolved, close this issue)
What is the role of a QA during the other stages of the SDLC
o Observing and getting familiar with all the requirements needed for the software o Reviewing all the documents so that we can get up to speed, so we are onboard with the understanding of the application o We can review to see if they have an existing version of the application. This will get you comfortable with the product o You are only able to test as good as your understanding of the software
What is the delivery and maintenance phase of the SDLC
o Operational level agreements (OLA) - roles and responsibilities of individuals/teams during delivery o Production implementation plan: production delivery steps, tech support, hardware/software components, rollback/contingency plan o Knowledge Transfer (KT)/Training users, introduce system, new features o Go-Live: new or enhanced system in installed in the production environment o A "transition" or "cut-over" plan - data conversion o A release notes sent to the team and upper management o QA might do a smoke test
What are the differences between positive and negative testing
o Positive testing: making sure the system does what it is supposed to do o Negative testing: making sure the system does not do anything it is not supposed to do; software can handle invalid input or unexpected user behavior
End-to-End Business process
o Process that takes a system or service/product from beginning to end and delivers a complete functional solution to a client.
What are the steps of the sprint cycle
o Product backlog o Sprint planning o Sprint backlog o Sprint execution o Daily scrum o Potentially shippable product increment o Sprint review o Sprint retrospective
Which stakeholder groups are relevant from the project manager's perspective
o Product manager, the management, and the project team
What are a few pros and cons of waterfall
o Pros: A "top down" approach, if client doesn't want much interaction with process, move on to the next step only after the present step is completed. o Cons: No scope for jumping backward or forward or performing two steps simultaneously, Bugs and errors in the code are not discovered until and unless the testing stage is reached, Lack of flexibility, difficulty in predicting actual needs for the software, the loss of intangible knowledge between phases, discouragement of team cohesion, and the tendency to not discover design flaws until the testing phase.
What is regression testing/ When do you perform regression testing
o Regression testing is performed when changes are made to the existing functionality of the software or if there is a bug fix in the software o Regression testing is retesting the application after some changes to ensure that the existing functionality hasn't broken, and it does what it's supposed to do.
What are the best practices of reporting a bug
o Reproduce the bug two times before writing bug report, and then ask peer o Test the same bug occurrence on other similar modules/systems/data/environments o Report the bug immediately o Write a good bug summary o Use diplomatic language o Properly define severity and priority o Read bug report before hitting submit button
What are the test artifacts and their relationships
o Requirements (one to many Use cases/User stories) o Use cases/ User stories (one to many Test cases) o Test cases (many to one Test script) o Test script (many to one test suite) o Test suite (one to many test scripts)
What are the triple constraints of a Project/PP
o Resource, time, and money
Who is a Scrum master
o Responsible for team to follow scrum/agile values o Runs sprint planning and daily scrum meetings o Ensures teams productivity and efficient communication o Guards the scrum team and remove impediments
What is the testing phase of the SDLC
o Review and study all available documents (use cases, user stories, FRS, SRS, BDD, TDD, DDD, PP/Charter, Meeting Minutes) o Create software test plan (TP) and test strategy o Arrange requirements walkthrough meetings, test plan walkthrough meetings, etc. with BA/PM o Test Design techniques and artifacts o Create scenarios, requirements, test case, test script o Software testing life cycle (STLC)/Fundamental of Testing process o Bug/Defect life cycle (BLC)
Why should you be considered for this position over other candidates
o Say things that demonstrate your ability to work in a team/focus on customer needs/personality that contributes to this.
What are some different types of agile methodologies
o Scrum o Crystal o Lean o FDD o Xp o DSDM o TDD o PRINCE2
What is the sprint planning meeting
o Selection, discussion and estimation of features from Product Backlog for current sprint o Product Owner describes the details of features and answers questions o Team estimates and commits to the features o Usually scheduled for 2 hours
What is the difference between the severity and priority of a bug
o Severity: how bad/dangerous/severe the bug is; the degree of impact when the user encounters the bug o Priority: how soon/urgency of fixing the bug; how much emphasis should be placed on fixing the bug and the urgency of making the fix o Sometimes there will be severe bugs, but it might not be a high priority; but a majority of the time, if it is high severity then it will be high priority.
What are some scrum ceremonies
o Sprint planning meeting o Daily scrum/Stand up meeting o Sprint review meeting o Sprint retrospective meeting
Who are stakeholders
o Stakeholders are the people involved in or affected by project activities o They include: the project sponsor, project manager, project team, support staff, customers, suppliers, opponents to the project, your boss, senior managers, development team
What is the daily scrum meeting
o Status of work progress meeting (same time, same place, everyday for 10-15 minutes, stand-up, no problem solving) o Purpose is to see if anyone has any questions/concerns o Issues/concerns recorded by scrum master and handled after the meeting o Each team member answers three questions: o What have I done - status/progress since yesterday/last meeting o What am I going to do - what's in queue for today/next meeting o What problems do I have - anything I need to accomplish my tasks, dependencies on another team/member o Stakeholders are invited to observe but can't talk - 'pigs can't talk'
What is the difference between a test case and a use case
o Test cases are procedural steps to test a specific behavior in software, while use cases describe an interaction between a user and a software system. Therefore, use cases are used to create test cases.
What is Unit testing
o Testing in small modules to ensure individual parts of the program are correct
What is User Acceptance Testing (UAT)
o Testing the system from a user's perspective o A user version of system testing o Alpha and beta testing o Customers and end users run the software in a "production-like" environment
What is System testing/End to End testing/ System Integration Testing (SIT)
o Tests the system as a whole to make sure it meets all the functional and quality requirements o Tests functionality, usability, performance, load, compatibility, reliability, recovery/failover, security
What is the software development life cycle (SDLC)
o The entire process of formal, logical steps taken to develop a software product
What is the analysis phase of the SDLC
o The project manager prepares the Project Plan (PP)/Charter, Project initiation document (PID). There are three dimensions/constraints to PP: resource, time, and money. o Business requirements: the BDD/BRD document is takes as the input o Output document: Software requirements specification (SRS), Functional requirement Documents (FRD), Use Case or User Story (prepared by system analyst/SA), Business analyst (BA), Subject matter expert (SME). o Work Breakdown structure (WBS): tasks to be completed by Teams
What is a Service change request (SCR)
o The software works the way it is, but want to make some changes in order to cater to a better experience for the customer.
What are the components of a test case
o Use case/ User story o Requirement o Test case name o Unique identifier (unique way to identify the test case) o Pre-condition (where the application/page should already be) o Step numbers (number each step that will be taken to satisfy the requirement) o Input (any kind of data/entries that goes into the application/database) o Design steps/ Description (step by step process what needs to be done to satisfy the requirements) o Output (as a result, what the app generates/expectations after executing the test case) o Post-condition (where the app is after performing some steps/after execution of test case)
What is WBS
o WBS: Work Breakdown Structure; deliverable breakdown of a project into smaller components o Different works that need to be completed, and who will complete the tasks. Usually created by project managers
How to write an effective bug report
o What happened, when, where o Impact on user and/or customer o Clear, concise, correct o Example: Customers aren't charged for modified items on orders
What is a use case
o Written description of a set of scenarios that describes an interaction between a user and a system. o Written description of how users will perform tasks on your application