In the current era where competition is fierce, one has to get completely prepared to get the first dream job. After applying for more than hundred of companies, interviewed a few and none ware perfect suitable. So, what to do? Always remember there is not the only one option there are various options to apply.
Quality assurance is adopted by all the middle level firms. This article will provide a road map of QA profile.For choosing any career path one require to consider three things. The market, salary structure and interest level.
With so many different options and avenues these days, to get the first dream job is quite easy. Having option is always good thing. But the question arises here am I selecting the right option for me?
1.Market: In the current market situation QA has enlarged the scope of employment. Demand of QA has increased over the time. As development function increase demand of tester is also increased as they both are complementary to each other.
2.Salary Structure: QA and developers follow the same salary standards.
3.Interest: This field is quite interesting for all. It is not only for technical people and non technical people can also make their career.
Not only Technical persons But non-Technical persons can also join This field.
What is Quality Assurance ?
In simple word Quality Assurance is to check the application as per requirement to make it more reliable.
Why testing is required
Humans have tendency of making mistakes, and finding the mistake by ownself is the very difficult task. So, we need to check it by our colleague or professionals. So now a days independance testing has increased.
Why Testing is necessary?
Catastrophic mistakes demolish the image of the company. Hire quality product will gain the confidence of the clients.
Road map for QA :
Technical or nonTechnical person can start as Jr.Software QA Tester gradually after 2-3 years of experience he/she could be Sr.QA, after 7-8 years of experience become Team Leader and in 10 year experience he/she could be IT QA - manager image depicts the road map for QA.
What are the QA Skills required?
In the field of QA Technical as well as not technical person can apply. Here are some skills that are required for QA.
1) Analytical and Logical Thinking:
One who could be analyse the software. He/She should have Logical Thinking capability. Tester must discover not only bug but he/she could be regenerate it to identify the scenario of the bug. Sometimes tester need to do root cause analysis for finding the root of the defect.
2) Intellectual curiosity and Creativity:
A tester should be Intellectually curious and creative. Intellectually curious means should have the ability to ask the question and do not get discomfort if it is silly questions. Creativity meaning he/she should be willing to learn and process improvement.
3) Passion for Testing :
Tester must have passion for testing. A good software tester must have strong desire for quality. This desire leads to great software testing skills. It develops ‘test to break’ attitude. A test to break attitude is required to hunt escaped defects.
4) Think from Customer Point of view :
Tester must have ability to think as per Customer’s point of view. Figure out what customer's need is and what are customer's requirement for developing the product. Customer should be satisfied with software when get released.
5) Domain Knowledge :
Tester should have domain knowledge. Testers should have the detailed knowledge about the software or application, whether they are not domain experts and this knowledge will help them to find such errors which a user can face while using the application. After testing the application/software, the tester should keep the domain in his/her mind while arranging the errors in order according to their priority.
6)Technical Skills:
Technical Skill will be advantage for tester. Tester must have basic knowledge of software programming.It is benificial to have hands on experience on different tool for software testing. Tester must be master in Microsoft office , openoffice etc. Automation tools such as Selenium, QTP, silk Test have good market value for tester.
What are Different Testing Types?
There are different types of testing depends on the requirement. Basically There are two branches 1.Functional and 2. Non Functional. Here diagram depicts the different types of testing.
1) Functional Testing:
It is also divided into two parts one is Black box Testing and another is White Box testing.
A) Black Box Testing :
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance.
A) Black Box Testing :
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance.
B) White Box Testing:
It is also known as Glass Box testing.Which mainly covers to test internal structure of the Software means coding.
2) Non Functional Testing:
In non-functional testing the quality characteristics of the component or system is tested. Non-functional refers to aspects of the software that may not be related to a specific function or user action such as scalability or security. Eg. How many people can log in at once? Ex .performance Testing, Endurance Testing, Compatibility Testing, Localization Testing.
3) Maintenance Testing
Once a system is deployed it is in service for years and decades. During this time the system and its operational environment is often corrected, changed or extended. Testing that is provided during this phase is called maintenance testing.
Testing : It involves identifying bug/error/defect in a software without correcting it. Normally professionals with a quality assurance background are involved in bugs identification. Testing is performed in the testing phase.
Debugging : It involves identifying, isolating, and fixing the problems/bugs. Developers who code the software conduct debugging upon encountering an error in the code. Debugging is a part of White Box Testing or Unit Testing. Debugging can be performed in the development phase while conducting Unit Testing or in phases while fixing the reported bugs.
What are the Levels Of Testing?.
1) Unit Testing
Unit Testing is the first round of testing. It is generally done by the developer. It should be done every time when the piece of code is changed. Unit testing is done when the function is ready or when one module is done.
2) Integration Testing
This testing level is designed to find interface defects between the modules/functions. This is particularly beneficial because it determines how efficiently the units are running together. Keep in mind that no matter how efficiently each unit is running, if they aren’t properly integrated, it will affect the functionality of the software program.
3) System Integration Testing
System testing is the first level in which the complete application is tested as a whole. The goal at this level is to evaluate whether the system has complied with all of the outlined requirements and to see that it meets Quality Standards. System testing is undertaken by independent testers who haven’t played a role in developing the program.
4) Acceptance Testing
The final level, Acceptance testing (or User Acceptance Testing), is conducted to determine whether the system is ready for release. During the Software development life cycle, requirements changes can sometimes be misinterpreted in a fashion that does not meet the intended needs of the users.
Software testing follows Software testing Life Cycle which is also known as STLC.
1) Requirement analysis :
In this first phase of the software testing life cycle, the test team reviews any requirements documents and designs to determine what is testable.
2) Test Planning :
What to test, how the test requires to be done, and who’s going to test it… these are the things determined during the test planning phase. Once the requirements have been reviewed.
3) Test Case Development
The goal of this phase is to determine in detail “how” to test. Test cases should be written to guide the tester through each test.
4) Environment Setup :
The test environment is the configuration of software and/or hardware on which the testing team is to perform the tests
6) Test Cycle Closure :
Once all the tests cases are ran, the test manager should confirm all required testing have been completed. This involves an analysis of defects found and other metrics such as how many passed/failed/skipped test cases. This final phase in the software testing life Cycle might also include a retrospective on the testing project/process.
5) TestExecution :
Now that the tests are ready to go and the environment is setup, it’s time to run the tests. Using the test cases, the tester executes each test, comparing the expected results to the actual results of each test and marking it as pass/fail/skip.
These are the seven principle of software testing.
1) Testing shows presence of Error.
2) Exhaustive Testing is impossible.
3) Early Testing.
4) Defect Clustering.
5) The pesticide paradox.
6) Testing is Context dependant.
7) Absence of error fallacy.
Mobile testing and Automation testing are latest in current market which have good future.
Automation Testing : Automation testing has changed the way of manual testing. It is generally used in large project. Lots of technical as well as non technical people attracted towards the this field. It required the knowledge of programming. Tools Selenium and QTP are used oftenly.
Mobile Testing :Now a days everyone is using the mobile so it increase the requirement of mobile app as that generates the mobile testing requirements. Responsive testing is also required for mobile web and hybrid applications. According to Gartner, by 2017, over 268 billion downloads of mobile applications will generate cumulative revenue of $77 billion.