Sprint 1 Flashcards
Key Responsibilities of QA Engineers?
- Conducting requirements analyses
- Developing testing documentation
- Creating a testing environment and running tests
- Creating documentation for test results
What Hard Skills are important for QA Engineer?
- Strong knowledge of software testing types and applying different testing methodologies
- Understanding different SDLC models
- Strong knowledge of Agile/Scrum processes
- Ability to write effective bug reports
- Knowledge of all types of testing documents and the ability to create as well as work with them
- Ability to work with databases with SQL
- Ability to use various bug management tools like Jira
- Basic Knowledge of at least one coding language and version control system
- Basic understanding of CI/CD
- Good Command of other tools such as Devtools, proxy tools, and Postman
What soft skills are useful for a QA Engineer
- The ability to communicate effectively, justify point of view, ask effective questions, and clearly convey your ideas
- The ability to plan and manage tasks well, stay organized, pay attention to detail and focus on deadlines/deliverables
- Possessing strong analytical and problem-solving skills
- Displaying a professional, positive, and approachable attitude
- Technical experience and strong command of industry trends
Lifecycle of a Development Task steps
- Setting the Task
* Product Owner or Analyst formulates task requirements - Estimation
* How much time is needed for each task - Production
* Team analyzes the requirements and layouts in detail
* Developers write code based on requirements
* QA Engineer designs test cases and checklists - Testing
* QA uses test cases to run tests
* Developers fix bugs that are found
What are a QA Engineer’s responsibilities for each step of the SDLC?
- Idea Creation:
* Graps the concept of the product
* Analyzes the product logic
* Helps find issues with logic
* Starts making a list of user scenarios to test - Requirement Formation:
* Analyzes the requirements for completeness, consistency, and testability
* Suggests improvements to facilitate the testing process
* Starts compiling the test documentation - Design:
* Make sure the project implementation corresponds to the original requirements
* Continues working on the test documentation
* Starts designing test cases for automation regarding app functionality
* Starts estimating the amount of testing required - Development and testing:
* Completes the test documentation
* Tests the product
* Takes part in designing automated tests
* Makes the final decision on whether the functionality is ready and officially signs off on the release - Product Release:
* Conducts regression, smoke, or sanity testing
* Checks that the product functions according to requirements in a prod environment
* Collects feedback from end users to find possible bugs that weren’t detected at the previous testing stages
* Retests bugs found in the production environment after they are fixed by developers - Support
* Processes feedback from product users: replicates, verifies, and retests after developers fix the bugs
* Tests upgrades, bug fixes, and new features
QA Perspective for Lifecycle of Tasks
- Planning testing process - testers look at requirements and evaluate how much time testing will take
- Test Analysis - Testers clarify requirements and layouts in detail to identify what needs to be tested
- Test Design- Testers create the necessary checklists and test cases
- Test Execution - Once the list of tests has been prepared, testing of the app can start
Software Development Life Cycle stages
- Idea Creation: the team investigates the market and forms hypotheses about the product.
- Requirement formation: specific requirements for the application are defined such as limitations of the system for example
- Design: The architecture of the future software is formulated.
- Development and testing: the application is created and going through the testing process
- Release: All the necessary steps have been completed and software is available to end users
- Maintenance: Team maintains the application’s functionality and fixes bugs on an ongoing basis
- Discontinuation: App becomes outdated and no longer supported
What is Sequential Development? Give an example
Software development style where the previous step of the SDLC has to be completed before the next can begin.
Example is the waterfall model
What are the Agile Principles
- Focus on responding to changes rather than following a plan
- Gather the project team on a daily basis and keep in touch with customers regularly
- Deliver working software as frequently as possible
Stages of Scrum Methodology
- Sprint planning- team agrees on their goals for the next sprint
- Development and testing - Team develops project, tests the software, then releases it
- Demonstration - Team presents their completed work to stakeholders
- Retrospective - team reflects on previous spring, what went well and what can be improved
What are the responsibilities of QA Engineer for each stage of Scrum
- Planning - Estimate the difficulty and amount of testing will be needed
- Tester compiles test documentation and test any new functionality for the first release
- Demo - QA should understand how the product will be used by end users
- Retrospective - team reflects on how the previous spring went
How is a task organized on a Kanban board?
Tasks are assigned a status that signifies the task’s current stage of progress
Breakdown a Version ID
Major version- first number in the ID, indicates global changes in the app
Minor version - second number in the ID, indicates when important updates have been made
Revision - third number in the ID, indicates when minor improvements have been made
What are builds?
When different developer’s code is all merged together
What is the relationship between Builds and Versions?
Once a build is ready to be released it is given a version ID
Define Manual Testing
When QA Engineer test the app themselves with no script