Testing Flashcards
Which test management tools did you use before? Do you like it? And why?
In my current project we are using Zephyr. Zephyr uses structured and freeform test execution cycles, and is easy to use.
What is a test cycle?
A test cycle is a container for tests and test suites that spans multiple users and projects.
How to create test cycle in Zephyr?
Click on Plan Test Cycle, add and execute tests as part of those cycles.
What is a Smoke Test Suite?
A smoke test suite combines a number of smoke tests into a small suite of tests so that when the application is ready to deliver to staging or pre-production, developers will know in a matter of minutes whether the latest version of their application is ready for further QA and review.
Smoke tests are also used at times in emergencies or when teams want to release a hot patch for their production applications.
What is Testing
The process of verifying and validating that a software is bug free, meets all requirements with handling all the exceptional and boundary cases
What is the software development life cycle?
Conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
What is SDLC
Software development life cycle
Why is an understanding of SDLC is important to Software QA Engineers?
SDLC includes Requirement phase, Design phase, Coding (programming), Testing, Release (Production), Maintenance (Support).
Testing is one of the most important components of the software development lifecycle Quality assurance is the planned and systematic set of activities that ensures that software processes and products conform to requirements, standards, and procedures.
What is Agile Software Development Model
Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams
The Agile movement seeks alternatives to traditional project management. Agile approaches help teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall or traditional sequential development.
When to use Agile model:
- When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced.
- To implement a new feature the developers need to lose only the work of a few days, or even only hours, to roll back and implement it.
- Unlike the waterfall model in agile model very limited planning is required to get started with the project. Agile assumes that the end users’ needs are ever changing in a dynamic business and IT world. Changes can be discussed and features can be newly effected or removed based on feedback. This effectively gives the customer the finished system they want or need.
- Both system developers and stakeholders alike find they also get more freedom of time and options than if the software was developed in a more rigid sequential way. Having options gives them the ability to leave important decisions until more or better data or even entire hosting programs are available; meaning the project can continue to move forward without fear of reaching a sudden standstill.
Main differences between Waterfall and Agile
Agile
- things are done in parallel
- new features come every week and there is not enough time and resources to do things stage by stage
- provides flexibility, which makes it more bug free and more inclined towards better client satisfaction.
Waterfall model
- has no flexibility
- does not allow any modifications once the module is completed
- in case of changes we’d have to build the entire project from scratch
- testing can be done only at the end of development module.
What does ‘Sprint’ in Agile development mean?
In product development, a sprint is a set period of time during which specific work has to be completed and made ready for review.
What is the typical ‘Sprint’ duration?
Some people would say that the two weeks sprint has become the industry standard, but in the reality, sprint duration could be completely different. It could vary from 1 to 4 weeks and highly depends on the company, team and the project and what will work best for them.
Scrum Master responsibilities
- Facilitating (not participating in) the daily standup.
- Helping the team maintain their burndown chart.
- Setting up retrospectives, sprint reviews or sprint planning sessions.
- Shielding the team from interruptions during the sprint. -Removing obstacles that affect the team.
- Walking the product owner through more technical user stories.
- Encouraging collaboration between the Scrum team and product owner.
Product Owner responsibilities
- Responsible for collecting all the information from the stakeholders and presents it in one prioritize list for the team.
- PO is the one who can accept or reject the work.
- Responsible for maximizing the value of the product and work of the development team.
- Sole person responsible for managing product backlog.
QA tester responsibilities
- attend sprint-planning session. This ensures QA is in sync with development team from the start and allows QA to identify possible problem areas and risks early on.
- attend daily stands up. This promotes a collaborative team environment, making QA feel involved and part of the team.
- do testing throughout the entire duration of the sprint, the workload for QA should be spread out and this allows for issues to be found earlier instead of only at the end.
- schedule a quick face to face handoff demonstration for each feature with the developer. This allows QA to see exactly how to the new feature works and is a good time for them ask the developer any questions.
- attend sprint retrospectives. Sprint retrospectives are the opportunity to define weakness and determine solutions for them.
Typical Agile team consists of:
- 1 product owner
- 1 scrum master (project manager)
- 5 developers
- 2 QA
What is Software Quality Assurance?
Software quality is a perceptual and conditional thing.
For consumers and some positions within the software company (upper management, sales, PR, marketing) it is about customer satisfaction.
From a QA standpoint, it is about software being up to requirements.
Software QA is the process of monitoring and improving all activities associated with software development, from the gathering of requirements, design, and reviews to coding, testing, and implementation.
What is software testing?
Software testing is a process of executing a program or application with the intent of finding software bugs.
It can also be the process of validating and verifying that a software program or application or product meets the business and technical requirements that guided its design and development works as expected and can be implemented with the same characteristic
What is the difference between Software Testing and Software QA?
Testing is mainly an ‘error detection’ process focusing on improving the source code.
Software QA is ‘preventative’ aiming to ensure quality in the methods & processes at all the stages of SDLC. (“Quality Assurance” measures the quality of processes used to create a quality product).
Why is software quality not perfect?
You can’t find all bugs in software,
Not all bugs which are found will be fixed.
To make perfect software takes a long time but, in reality, we do have not enough time to fix all the bugs.
What is adhoc testing?
AD HOC TESTING is a method of software testing without any planning and documentation.
The tests are conducted informally and randomly without any formal procedure or expected results.
“Monkey testing”
What is a Bug?
A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Bug report components are?
- Short summary (Bug Title)
- Environment
- Steps to reproduce
- Expected and actual results
- Attachments if applicable