Friday, January 20, 2017

Abbreviations for Mobile Applicaiton Tester

Abbreviations which are required to be kept in mind while giving interview for Mobile application testing

iPa - iPhone Application Archive

apk - Android application package

exe - Executable file

adb - Android Debug Bridge

CMMI - Capability Maturity Model Integrated

QA - Quality Assurance

QC - Quality Control

STLC - Software Testing Life Cycle

SDLC - Software Development Life Cycle




Friday, January 13, 2017

Risk Management in Software Testing with example

Software company should always have a risk management done so that there will be smooth release of the product. Risk management is divided into 3 main parts.

1. Risk Identification
2. Risk Impact Analysis
3. Risk Mitigation

Risk Identification
Risk identification will be the first step of risk management where the QA manager or the QA lead would identify all the risk which could be involved in the project which would impact the project plan

Examples of Risk Identification

- Non availability of test environment or logistics
- Critical defects found during the release state
- Non availability of testing resources
- Requirement or design changes
- Natural calamity
- Understand of technologies

Risk Impact Analysis
QA manager has to prioritize the risk based on the probability of occurrence and impact due to the risk. Taking the same example of risk identification we can prioritize the impact as shown below

- Non availability of test environment or logistics  - Probability Low, Impact High
- Critical defects found during the release state - Probability Medium, Impact High
- Non availability of testing resources - Probability Low, Impact Medium
- Requirement or design changes - Probability Low, Impact High
- Natural calamity - Probability Low, Impact Medium
- Understand of technology  - Probability Medium, Impact High

Risk Impact can be shown in percentages or scale from 1-10

Risk Mitigation
QA manager should be having solutions to every risk that may occur. Solution needs to be practical and should be always be in a state of executing the solutions in a way it is mentioned i,e, Risk mitigation should not give false promises

- Non availability of test environment or logistics - Have a quick meeting with the customer and get him/her to provide a list of devices and test environment which would be their highest priority for the release
- Critical defects found during the release state - If a critical defect is found during the release state then have an experienced working developer and a Qa to just work on the defect and have it regressed quickly as possible
- Non availability of testing resources - If a Qa gets sick or if he leaves the company then have a back up Qa from start of the project where he will be briefed with the project requirements and his involvement will be less than 10%
- Requirement or design changes - Customer has to be formally informed that no changes will be entertained without pushing the release dates and if there is any changes then it would be taken as a Change Request with efforts breakdown
- Natural calamity - A backup resource would be provided in another location and will be assigned with the task if any Natural calamity occurs.
- Understand of technology - Training will be provide and a team which has already released a similar project will help before the project reaches the first alpha.

Friday, January 6, 2017

Adhco testing in Software testing

Adhoc testing is a type of black box testing which is carried out without following any formal process i.e without SRS, Test plan or test cases. Adhoc testing is normally done once the formal test cases are run and testing is completed formally. There are 2 types of Adhoc testing

1. Paired Testing
2. Monkey Testing

Paired testing is type of adhoc testing where two qc's are assigned to test the same project and the goal of the qc's is to find maximum number of defect such that the test coverage is complete. Once the testing is completed both the qc are required to share their observation. Sometimes a qc is paired with the developer to perform adhoc testing which is proved to be a best adhoc type of testing as the developer will also be able to understand how a qc thinks out of the box. But normally it is not advisable if the project is working under scrum.

Monkey testing is done by performing unusual scenarios in order to break the code. Example: Continuously tapping on button, performing immediate sequence, adding inappropriate data as a value.

Thursday, September 15, 2016

Waterfall model

Waterfall model is believed to be the first software method to be used in software development. This model follows a procedure where next phase of cycle is started only when the previous phase is completed. This model can be used for small scale project and mainly if there is no uncertainty in the software requirements. Waterfall model is also called as linear sequential life cycle model. Waterfall model may not be applicable to today's world as requirements are dynamic and keep changing as a phase is completed.

As word suggests, it flows downwards with phase mentioned below.
1. Requirement Analysis and Gathering:
2. Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance

Pros and Cons of Waterfall model

Pros

- It is easy to understand and manage
- Since the requirements are frozen there would be no confusions and phase can be carried out in ease
- Product can be delivered on time as each phase would be assigned with efforts and there would be no rescheduling the efforts or dates

Cons
- If a defect is found during testing phase then it becomes difficult to get back to development stage and change the entire set of code or logic
- Next phase team especially testing team would be idle until the implementation phase is completed unless they are made to test some other project
- Clients will be only able to check the working condition of product only when the implementation is completed

Wednesday, September 14, 2016

List out different software methodologies in software testing.

Below are the some of the software methodologies used in software testing.

1. Agile model
2. Waterfall model
3. V model
4. Incremental model
5. Iterative model
6. RAD model
7. Spiral model
8. Prototype model