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
What t is JQL?
JQL stands for Jira Query Language and is the most powerful and flexible way to search for your issues in Jira.
JQL is for everyone: developers, testers, agile project managers and business users.
How you can search in Jira?
Using basic and advanced search.
What is Confluence?
What kind of data you can find in Confluence?
Confluence is a collaboration wiki tool used to help teams to collaborate and share knowledge efficiently.
With confluence, we can capture project requirements, assign tasks to specific users, and manage several calendars at once with the help of Team Calendars add-on. You can also find in Confluence:
Private documentation about your project
Vocabulary glossary abbreviations
Environments and any other information about projects etc
How to install tools
Contact information of team members
PTO calendar
What is a test case?
A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
What are the most important components of test cases?
• Test case ID (assigned automatically by TC management system)
• The purpose (Title, Description) of the test case
• Instruction on how to get from the application base state to a verifiable application output or expected result
• Expected result
Execution properties:
• Actual Result
• Pass/Fail indicator
What is a Check List?
A checklist is a catalog of items/tasks that are recorded for tracking. This list could either be ordered in a sequence or haphazard.
It is often referred to as a simplified version of a test case. In some companies, this format is used instead of test cases to decrease writing maintenance time.
What is Test Suite?
- a collection of test cases that are intended to be used to test a software program to show that it has a specified set of behaviors.
- often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing.
It can take any of the three states namely active, in progress and completed.
How many test cases can you create if you don’t have requirements?
Begin with testing it based on common sense.
When at the stage where I can ask questions, I will go and talk to people — team members first, and then the product manager.
Based on the information collected, create a test plan and try to get a second opinion on it, probably by sending my doc to PM and QA manager.
How do you write test cases?
- Freestyle
2. Gherkin style.
What is Smoke test (also confidence testing, sanity testing)
-superficial build acceptance.
- refers to the first test made after assembly or repairs to the system, to provide some assurance that the system under test will not catastrophically fail.
–is light type testing, objective is figure out, to verify that all build works, is a alive.
When the application is released in testing environment the QA team started smoke test.
What is Sanity Testing?
- smoke test is a quick test to see that after a build the application is good enough for testing
- sanity test tells you if a particular functional area is good enough that it actually makes sense to proceed with tests on this area
What is Bug triage
- to evaluate, prioritize and assign the resolution of defects.
- The team needs to validate the severity of the defect, make changes as per need, finalize resolution of the defects, and assign resources.
–Mainly used in agile project management.
What is bug Severity and Priority?
Bug Severity is the degree of impact that a defect has on the system.
Bug Priority is the order of severity that has impacted the system.
Severity is related to the standards and functionality of the system; priority is related to scheduling.
How is mobile testing and mobile app testing different?
Mobile testing means checking the functionalities of a mobile device while mobile app testing means testing applications running over mobile devices.
What are the four types of common bugs?
critical, block, minor, and major.
Give an example of common mobile bugs and how you prioritize them
testers work to find four types of common bugs; critical, block, minor, and major
- a phone system crash when testing a particular feature of the device will be classified as a critical bug.
T-the GUI bugs will be categorized as minor bugs
- functional disability of a particular feature will be submitted to a major bug list
- Certain performance unavailability through the device is ON will fall into the block bug list
What are the types of mobile applications?
- Native apps are created for one specific platform or operating system.
- Web apps are responsive versions of websites that can work on any mobile device or OS because they’re delivered using a mobile browser.
- Hybrid apps are combinations of both native and web apps, but wrapped within a native app, giving it the ability to have its own icon or be downloaded from an app store.
What according to you is the importance of Usability testing?
Usability testing is used to check if the app is user-friendly.
It involves analyzing customer’s behavior and experience on the application to identify bugs and discrepancies.
The metrics considered for usability testing are the design of the app, response time and how intuitive it is.
What is the latest version of iOS?
IOS 15
What is the latest version of Android?
Android 12
What is the extension of Android files?
.apk (Android application package)
How would you define AVD?
AVD stands for Android Virtual Device.
It is an Android emulator to test applications on PCs.
What is the extension of iOS files?
.ipa (iOS App Store Package)
What are all major networks to be considered while performing application testing?
You should test the application on 4G, 3G, 2G, and WIFI.
2G is a slower network, it’s good if you verify your application on a slower network also to track your application performance.
What are the tools based on cloud-based mobile testing?
Perfecto Mobile, AWS Device Farm, BrowserStack, SauceLabs.
What is the most common problem with the emulators according to you?
They often fail to capture the important attributes of a device.
They have a lot of compatibility issues if no open source technology is considered.
How would you define a good test case?
Good test case: Here is an example of a good test case: install and launch the application. Try to login with user info@interview.com with password “abcd”, wait 5 seconds for the app to respond and shows you the app interface after the login.
How would you define a bad test case?
There can be two main bad test case scenarios.
The first one would be very undescriptive, e.g. install, launch and login. In this case you don’t really know what to expect exactly from the test.
The other bad test case would be a test case that tries to test many different functionalities at the same time. The result would be that you don’t concentrate on just one aspect of the app at a time and you might be missing other important functionality.
What metrics are considered when sanity test is performed on mobile apps?
The sanity test on apps can be performed based on 5 metrics:
- Performance on different devices.
- Performance in various network environments.
- Installation and update of apps.
- If the app allows calls when running in the background.
- Media compatibility.
What is WAP?
WAP stands for Wireless Application Protocol. Used in network apps, this communication protocol enables data access through wireless networks.
It facilitates easy connectivity between mobiles and the internet and enhances wireless interoperability.
How do you communicate app crashes to the developer?
Identify the scenario in which the app crashes.
Use a defect tracking tool to report app crashing
Steps to reproduce to bring app crashes in control.
Attach screenshots with the error message.
What would you do if your app works well on some devices and crashes on others?
Conduct compatibility tests to analyze the application’s performance on multiple devices with different network environments.
This will help in the identification of the devices on which the app crashes.
Try uninstalling and installing the app and if it still does not function properly, I would highlight the issue to the developer and suggest fixes.
Can you name 2 apps for Android and iOS each to record crash logs?
To record crash logs, you can use
- Android Studio and Eclipse for Android devices
- iOS LogInfo and Xcode iOS devices.
What are the most important mobile application test cases ?
In my opinion, the most important mobile app test cases are: • Usability test case. • Battery usage test case. • app functioning test case. • Touchscreen test case. • Security test case.