Qa Methodology Flashcards
Unit testing
Is the first level of dynamic testing and is the first responsibility of the developers and then the testers.
Functional testing
Black-box type of testing geared to functional requirements of application.
Usability testing
Testing for ‘user-friendliness’.
Examples: User interviews, surveys.
Not for devs and testers
Integration testing
Testing of combined units. Makes sure distinct components of the application still works in accordance to customer requirements
System testing
Testing of a complete system in a controlled environment.
End-to-End testing
Testing of a complete application environment in a situation that mimics real-world use.
Regression testing
- verify new features
- bugs in the new feature
- the new feature did not brake any existing code
Sanity testing
Sanity Testing is done to check the new functionality/bugs have been fixed. It exercises only the particular component of the entire system.
It is a subset of regression testing.
Smoke testing
Is performed to ascertain that the critical functionalities of the program is working fine. It exercises the entire system from end to end.
Subset of acceptance testing.
Performance testing
Will verify the load, volume and response times as defined by requirements.
Part of non-functional testing.
Load testing
Testing application under heavy load and determine at what point the system response time degrades or fails.
Type of non-functional testing.
Compatibility testing
To measure how well software performs in a particular hw/sw/operating/network environment
Acceptance testing
Done by the client to verify the system functionality and usability prior to the system moved to prod. Testers work with the client to develop acceptance criteria
A/B testing
is a user experience research methodology that compares multiple versions of a single variable to determine which is more effective
Non-functional testing
is defined as a type of Software testing to check non-functional aspects (performance, usability, reliability, etc) of a software application
Test strategy
Is a set of instructions or protocols which explain the test design and determine how the test should be performed
Test plan
Defines the approach, scope, and intensity of the effort of software testing.
Types of functional testing
Unit, component, integration, system,end-to-end, regression, sanity, smoke
Types of non-functional tests
Performance, load, stress, volume, security, upgrade & installation, recovery, compliance
Severity
Is a parameter to denote the impact of a particular defect on the software
Priority
Is a parameter to decide the order in which defects should be fixed
When to automate
- the feature/product is fully ready
- it’s repetitive
- doesn’t change
- high priority
Agile ceremonies
- Sprint planning
- Backlog grooming - go over other stories
- Daily stand ups
- Sprint retroes
What is epic in agile
A big feature that has stories
What is spike in agile
Areas that doesn’t have information
Challenges in agile
- Keep up with sprint based env
- Figure out how to strategize testing in 2 weeks process
Agile software development life cycle
Is the structured series of stages that a product goes through as it moves from beginning to end. It has six phases:
1. concept
2. inception
3. integration
4. release
5. maintenance
6. retirement.
About me
- I have more than 5 years experience and posses a comprehensive in embedded software testing, seeking a software automation centric role.
- Started as a support technician at Meta and worked myself up as a SQAE
- a long the way I build a set of skills including leading a team and ability to find the bottlenecks and common pinpoints within a qa process
- As a support technician at Meta I improved the efficiency of the overall checkout process by reducing troubleshooting time by 20% by suggesting automation
- Within a 3 moths period I was promoted to quality analyst at Meta
- as a quality analyst I created over 2000 and executed over 20000 test cases
- filed over 1000 defects with 50% of high priority
- I supported websites and mobiles apps for oculus products
- I wanted to learn more about the processes and completed the full stack coding boot camp at UC Berkeley extension
- after that I joined Enel X as a QAE
- here my daily activities mostly consist of 70% manual testing and 30% automation
- for automation I use Python with Selenium Web driver for front end, Portman with API for and learning about Appium for mobile applications.
- About me: Personally I love dancing, hanging out with friends, reading non-fictional books and I am fascinated about human phycology and use all possible tools to learn more about it.
Stress testing
Is done under abnormal conditions, makes sure that the system responds correctly to it and recovers after failure
Agile methodology
Involves breaking the project into phases and emphasizes on continuous collaboration and improvement
The difference between test plan and test strategy
Test plan documents scope, objective and key elements of software testing, whereas test strategy defines the techniques and approaches to testing.
Examples of severity and priority
High priority high severity:
- Wrong data is displayed
High priority low severity:
- wrong logo of the company displayed(reputation)
Low priority high severity:
- app crashes when user is opening rarely used functionality on a legacy software that most users can’t access
OOP
Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields (often known as attributes or properties), and code in the form of procedures (often known as methods)
STLC software testing life cycle
- Requirement analysis
- Test planning
- Test case development
- Test environment setup
- Test execution
- Test closure
CI/CD basics
Continuous integration - commit daily, it triggers automated test and notify developers of any issues
Continuous deliver - every code change that passes automation is automatically deployed to production.