This testing stuff specially belong to beginners with little or no knowledge of testing but have passion to learn testing.
Before you start learning just give few minute to read, just below content :
Future and scope of software testing :
“As we know that IT Industries are growing very fast as compare to other industries and Now every client want a quality in their product .
Before few year, Internet speed was not good also smart phones were not easily available , people were not much more aware about testing, Organization had very less number or testers, But the time have changed Now competition between organization in the market have been increased and now everyone have smart phone & every application is moving on web/Internet.
So now the trend have been changed now most of the organization have a separate team , separate testing server.”
These aspects lead to a bright future & shining career in the Field on testing.
Why Testing is Needed :
Software delivered with the bug surely creates a big loss.
A little example: Assume a financial application which is used by 100000 user every day & it have bug that “0.99 will be automatically rounded off to 1”
Now estimate the loss : (1-0.99)*100000 = 1000/per day
And if they deal in various currency then loss will be : (1-0.99)*60*100000 = 60,000/per day
So good and logical testing is needed for each application.
Fundamental Principle of testing:
- A good testing surely erupt bugs in application
- Exhaustive Testing is Impractical but possible
- Defect clustering: - “The area which has a bug may have more bugs”.
- It is good to start the testing as early as possible
- Pesticide paradox :- “Change in Testing strategy creates good outcomes”.
- Testing is context dependent :- “For each different application , testing view will be different”.
- Absence of errors fallacy: If the system built is unusable and does not fulfill the user’s needs and expectations then finding and fixing defects does not help.
Good Characteristics of a tester :
>> have good Communication & Written skill.
>> Never believe that application made by good coder will not have bug.
>> Have patience, bug will surely come.
>> Get the deep knowledge of application and create a good analysis skill
>> Ensure client/end user satisfaction
>> freeze the boundary of application and test application with in boundary
>> Never pass the blame & never take the blame.>> Be Factual : While reporting a defect or clarifying a requirement be as factual as possible.
>> Be empathetic : Listen to the developer/business analyst who developed/collected the requirement carefully. Try to understand the reality and limitation.
Software Testing: Software Testing is just an activity with the intention to find the bugs in application.
"Set of activities performed with an intent to find the valid bugs in the application."
What is defect?
A flaw in a component or system that can cause the component or system to fail to perform its required function.
Then What is the bug?
Bug is a technical slang used for a defect. How term bug was coined there is a very interesting story about it.
"In 1947 there was a moth found in a relay calculator which was being tested at Harvard University. The Operators affixed the moth to the computer log and commented as they have debugged the machine. This was the first actual case of a first computer bug being found."
Failure can lead to:
- Loss of money
- Loss of time
- Loss of business reputation etc.
ERROR ---------> BUG(in QA)/DEFECT(in production) ---------------->FAILURE
Error : Human Mistake, like syntax, in requirement phase, design phase but before development phase.
Bug : When a functionality does not work as intended. It is found in the development environment before deployment.
and If it is found in production phase (at actual customer end) it will be termed as DEFECT.
Failure : In deployment phase, a big deviation from actual & expected.
Debugging : It don't have any relation with testers, it is done by developers & its means is "Fixing the bugs".
Software Development Life Cycle (SDLC) :It have the following phase
1. Requirement Specification: Gather the functional & Non-functional requirement of application.
2. Design : Design the application like its structure , image, logo etc.
3. Coding : Write the code for application.
4. Testing : Check whether things working as expected or not
5. Implementation : Deploy build to production/client end.
6. Maintenance: After few time of deployment , maintenance required.
Software Testing Life Cycle : It have following phases -
- Planning and control : Test planning is the activity of verifying the mission of testing, defining the objectives of testing and the specification of test activities in order to meet the objectives and mission. Test control is the ongoing activity of comparing actual progress against the plan and reporting the status, including deviation from the plans.
- Analysis and design : Test Analysis and design is the activity where general testing objectives are transformed into tangible test conditions and test cases.
- Implementation and execution : It is a activity where test procedure or scripts are specified by combining the test cases in a particular order and including any other information needed for test execution, the environment is set up and the test are run or executed.
- Evaluating exit criteria and reporting : It is the activity where test execution is assessed against the defined objective. This should be done on each test level, here exit criteria which is defined in test plan is matched.
- Test Closure activity : It collect data from complete activities to consolidate experience, test ware, facts and numbers.