How to Become a Software Test Engineer and Earn Money from Anywhere in the world?

Do you know this truth?

If you can run your facebook using your computer, you are good enough to become a Software Tester! You can earn $40-$100 per hour just working from home?

Do you want to know how?

Please click here to learn in details!

Learn Marketing!

Udemy

QA Engineering or Software Testing is a very rewarding career. The demand of a Software Engineer is ever green. A Software Tester earns huge from his/her job and freelancing projects!

Let's see how much they earn! Salary of a Software Tester

Salary of a Selenium Test Automation Engineer

I recommend the following course(s):

Software Testing: Get A Job in Technology Without Coding

Best Manual Software Testing: Live Project + Agile + Jira

The Best Software Testing Training You Will Ever Get

Software Testing, QA Testing, Manual Testing, SDLC, Test Plan

Every QA tester must have a very clear conception on Software Development Life Cycle (SLDC). It gives a solid foundation to the tester.

Now the question is: What is SDLC? What are the components of SDLC?

SDLC stands for Software Development Life Cycle. It is a process of development of an application or a software and it has different phases and the phases will be executed. These are as follows:

1) Requirement gathering and analysis: In this phase stakeholders will decide requirements, BA’s will gather requirements and based on this requirements they create BRD and that will get Sign off.

2) Design: In this phase planning will be done on which programming language and database would be suitable for the project. Once the Language and database decided Architectures will design documents which will be guide lines for next phase.

3) Development: In this phase developer will develop code, perform unit test and software is build.

4) Testing: In this phase testers will verify whether the software is built as per the client specification and functional requirements. Deviation from requirements is called Defect/Bug.

Defects will be reviewed and sent to developers for fixing the same, once the bugs fixed retesting will be done to ensure that defect is fixed and this fix has not caused any unintended effect on the application.

5) Deployment:

After successful testing product is delivered / deployed to client for their use. In this phase client will perform user acceptance testing, if any changes they will report to team once changes done redirected for final deployment.

6) Maintenance:

Technical support established to help the user to trouble shoot the application if required.

Now, let's discuss very briefly about Software Testing Life Cycle (STLC).

What is STLC?

Let me list the step by step process of STLC

Software Testing Life Cycle (STLC) It consists of series of activities carried out methodologically to certify the built software product. STLC have different phases Requirement Analysis, Test Planning, Test cases development, Environment Setup, Test Execution, Test cycle closure.

1) Requirement Analysis:

During this phase based on requirement analysis we identify type of tests to be performed, prepare RTM, identify test environment and feasibility of automation analysis.

(2) Test Strategy/Planning:

In this we will determine efforts and cost estimates, selection of test tools, resource planning, roles and responsibilities, training requirements.

(3) Test case development:

This phase involves creation and review of test cases, test script, test data collection.

(4) Environment set up:

Understand the required architecture and set up software and hardware for testing the build software.

(5) Test Execution:

During this phase test carried out based on test plan and test cases prepared, bugs will be reported back to development team, after bug fixing retesting will be done.

(6) Test closure:

Testing team will meet and analyze testing artifacts to identify testing strategy that have to be implemented in future taking lessons from the current cycle.

Let's now talk about some most common methodologies that are practiced in the software testing world.

Waterfall Methodology:

In water fall methodology development of the software product flows sequentially form start point to end point. It is more documented process.

Stake holders can see the product only at the end of the project. Product will be delivered for testing only after long phase of development. By this if the requirements error is found or any changes in requirements, the project has to start from the beginning. In this process Developers and Testers will be working separately which causes time delay between testing and coding.

Agile methodology:

This process is incremental, iterative and close communicative approach.

Project is broken into several iterations, each iteration may have time frame form 2 weeks to 8 weeks depending upon the requirements

At end of each iteration modules will be delivered to owner, if any changes are required by owner it will carried out to next iteration. Error can be fixed in the middle of the project. In this process developers and testers will be working as team by which there will be no time delay between testing and coding.

Scrum Methodology:

Scrum is a Agile methodology which is a combination of Iterative and incremental model.

Scrum team is a team comprising of 7 + or –Two members. These members are from business, development, testing, support people etc along with Product owner and Scrum master. All this members work together in close collaboration for a recursive and definite inter to develop and implement the said future.

Components of Scrum: Sprint which is predefined time frame for work to be completed and delivered.

Product owner: Is a stake holder other person who represents the lead user of the application to be developed.

Scum Master: Is the lead of Scrum team who ensures the scrum team is productive and progressive. Any work related issues or between team he will follow up and resolve them for team.

User Stories: These are the requirements or features to be implemented.

Epics : This is the user stories which are not defined and are kept for future sprints.

Product Backlog: It's a kind of bucket or source where all the user stories are kept. This is maintained by product owner.

Sprint Backlog: The collective user stories on which the scrum team working.

Story points: Based on story points, estimation and efforts for a story is determined.

Burn down charts: Burn down charts is used to track sprint status, Total work done and work to be done.

X-axis that displays working days Y-axis that displays remaining effort

Velocity: Velocity” is the total effort a team is capable of in a sprint. It is a guideline for the team to understand how many stories they can do in a sprint.

Let's now talk about Test Plan: A test plan for software project can be defined as a document that defines the scope, objective, approach and emphasis on a software testing effort

Components of Test plan include- Test plan id, features to be tested, test techniques, testing tasks, features pass or fail criteria, test deliverables, responsibilities, resources and schedule, etc. Test strategy is a set of guidelines that explains test design and determines how testing needs to be done.

Components of Test strategy includes: Types of testing, Entry and Exit criteria, Suspension and resumption criteria and system acceptance criteria.

Test case is a document in which step by step actions mentioned to verify features or functionality of a software application. Its components are Test case id, Test steps, Test data, Expected results, Actual results, Author, Date, Time.

Main Types of Testing:

Unit Testing, Smoke testing, Functional testing (technique Black box, white box testing), Integration, Regression testing, System testing, User Acceptance testing, End to End testing.

Unit testing- It's done by developers to test smallest developed code to verify whether the code is working as per the intended design. Smoke testing- It's done to check the critical functionality of the application before accepting for major testing. Goal is not find the defects but the system health.

Functional testing- It's done to verify the system against the Functional requirement. This testing describes what the system does. Integration testing- In this individual modules which are tested are combined together and tested as a group. To check the data flow from one module to another module.

System testing- Is done to verify complete end to end scenario as the end user uses it.

Regression testing- Selective retesting of a system is done to verify that a modification has not caused any unintended effect and the system still complies with the specified requirements.

UAT testing- Is performed by the client to certify the system with respect to the requirements that was agreed upon.

End-to-end testing – Complete flow of testing from end to end of an application while interacting with a database, using network communications, or interacting with other hardware, applications. Non-Functional testing- Checking performance, reliability and scalability of the application. Load testing – It is done to verify that how a website handles a particular number of concurrent users. Stress testing – System is stressed beyond its specifications (like storage capacity, complex database queries, continuous input to system or database) to check how and when it fails. Performance testing – Is again a kind of load and stress testing in this we check how fast the application is responding. Compatibility testing – Testing how well software performs in a particular hardware/software/operating system/network environment and different combination s of above. Verification: It means going through BRD, FRD, SRD defining in-scope, out-of-scope testing and to check are we on the right track of building the final product, were as Validation means checking are we building the right product this can be established by box testing techniques. QA Lead: QA lead is a Test lead or Manager who defines work to subordinates, responsible for Test planning, who checks if the team has all necessary resources to execute the testing activities, check if testing is going on hand to hand with development in all phases, prepare status report, updating the project manager on testing activities.

Role of a Tester:

Tester has to read all requirement documents and understand what need to be tested. Based on information procured decide how it is to be tested. Inform the lead what are all the resources required for software testing. Develop test cases prioritize the testing activities execute all test cases report defects define severity priority for each defect. Carry out regression testing when changes are made in requirements.

Black box testing: It's a functional testing technique were we test the functionality of the application as per the requirement without looking at the internal code. We just focus on input the output of the application.

White box testing: It's a testing done on internal code of the application to check whether the code is working as per the intended design.

What do I do when I find new bug: I provide all necessary information to reproduce the defect and follow up the bug. I will inform my Lead/QA; QA periodically reviews all new bugs and decides which should be fixed. These bugs are given the status Open and are assigned to a member of the development team.

Software developers fix the Open bugs and assign them the status Fixed. We will be retesting the cases. If a bug does not reoccur, it is closed. If a bug is detected again, it is reopened and process continues.

Once defect is found we will follow the steps: a) Recreate the defect b) Attach the screenshot c) Log the defect Project Name Module Name Defect detected on Defect detected by Defect ID and Name Snapshot of the defect Priority and Severity status Defect resolved by Defect resolved on

Defect life cycle: Is the process of finding Bug, validation, fixing and revalidating the bug. Tester finds the Bug/Defect will name it New and report to the Lead. Lead based on severity and priority will change status to ignore, differed, open.

if open status that will be send to developer to fix it. After fixing developer changes status to fixed. Once the status is fixed tester will retest if the defect not found he will change status to close if not the process continues until it is closed.

Positive testing: It can be performed by providing the valid data as input. It checks whether an application works as it expected with the positive input. Example: login to account with correct credentials.

Negative testing: It can be performed by providing the invalid data as input. It checks whether an application works as it expected with the negative input. Example: where input values should have only Alphabets we will enter input as Numeric values and alphanumeric values.

Entry and Exit Criteria: Both are documented and signed off in the Test Planning phase. Entry criteria are the minimum set of conditions that are required in order to start testing work. Like all necessary design and requirement documents should be available. The test environment, such as lab, hardware, software and system administration support should be available. All the required Testing tools should be available and working properly. Test data should be ready.

Exit criteria are the minimum set of conditions that are required in order to stop testing work. Like all Test plans have been are run. No high priority and low severe bugs are left outstanding. Certain level of requirement coverage has been achieved. All high risk area has been fully tested. The schedules have been achieved.

Severity: It is defined as the degree of impact that a defect has on the operation of the product.

Priority: It is defined by the order in which the developer should resolve a defect.

Traceability Matrix: Mapping between test cases and customer requirements is known as Traceability Matrix.

Boundary Testing: This is one kind of testing technique in which the test cases are designed to include the values at the boundary. If the data used within the boundary limit it is called positive testing and data used above the boundary is called negative testing. Example: consider valid input values should be numeric between 0-10 and all other are invalid. In this we take boundary values as -10,0 and 10 for testing.

Equivalence Partitioning testing: This is one kind testing technique which divides input date into many partitions. Values from each partition to be tested at least once. Partitions with valid value are used as positive testing and partition with invalid values are used as negative testing. Example: consider valid input data should be numeric between 0-10 and all other are invalid, in this case we can make two partitions one between (-10 to -1) and (0 to 10) here sample values can be taken as -5 and 5 from each part.

Thank you very much for your time to go through this very short article. I hope you will help me to enrich the article by giving some feedbacks.

I recommend the following course(s):

Software Testing: Get A Job in Technology Without Coding

Best Manual Software Testing: Live Project + Agile + Jira

The Best Software Testing Training You Will Ever Get

Software Testing, QA Testing, Manual Testing, SDLC, Test Plan

Sort:  

i just stated on steemit. please suggest me how to write best blog.
i have good knowledge on java JAXB REST API And Automation.
please guide me.
https://steemit.com/java/@marcsam/java-8-why-java-8-functional-programming

Please go though my java 8 Lamda Exxpression tutorial.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 64364.24
ETH 3416.30
USDT 1.00
SBD 2.48