Abbasqulu Allahverdili
What is a Software?
• The software is a general term for the various kinds of programs used to
operate computers and related devices.
What is Software Testing?
• Software testing is a process to evaluate the functionality of a software
application with an intention to find whether the developed software met the
specified requirements or not and to identify in order to improve the quality.
Software Testing History
• Glenford J. Myers initially introduced the separation of debugging from testing
in 1979. Although his attention was on breakage testing ("A successful test
case is one that detects an as-yet undiscovered error.") it illustrated the desire
of the software engineering community to separate fundamental development
activities, such as debugging, from that of verification.
The principles
of Software
Testing
1. Testing shows the presence of defects.
2. Exhaustive testing is impossible.
3. Early testing.
4. Defect clustering.
5. Pesticide Paradox.
6. Testing is context dependent.
7. The absence of error – fallacy.
Who is a
Software
Tester?
• A software tester is an individual that tests
software for bugs or any problem that can affect
the performance of computer software or an
application.
• Software testers are part of a software
development team and perform functional and
non-functional testing of software using manual
and automated software testing techniques.
The
requirements
of being
Software Tester
• Analytical Skills: A good software tester should have sharp analytical
skills. Analytical skills will help break up a complex software system
into smaller units to gain a better understanding and created
corresponding test cases.
• Technical Skills: A good software tester should have strong technical
skills. This includes a high level of proficiency in tools like MS Office,
OpenOffice, Testing tools like QTP, Loadrunner and of course deep
understanding of the application under test.
• Sound Communicator: A good software tester should have good verbal
and written communication skill.
• Efficient and Organized: Testing at times could be a demanding job
especially during the release of code.
• Always Attitude matters: To be a good software tester you should have
a great attitude.
• Passionate: To excel in any profession or job, one should have a great
degree of passion for it.
The principles
of testing
• Testing can show a presence of defects, but
cannot prove that there are no defects;
• Testing everything is not feasible and not
possible;
• Testing activities shall be started as early as
possible;
• A small number of modules usually contains
most of the defects;
• The test cases need to be regularly revised;
• Testing is done differently in a different context;
• Absence-of-error fallacy.
What Do Software Testers Do?
1. They Explore These Types of Testing:
Exploratory testing, Functional testing, Performance testing and etc.
2. They Do Things Related To Bugs:
Raising bugs / Breaking things,Re-opening bugs,Fixing bugs and etc.
3. They Get Involved With Information Gathering:
Knowledge gathering, Investigating technology, Asking questions and etc.
4. They Do Testing Type Activities:
Designing and reviewing test strategies, test plans and test cases, Monitoring, Reporting and etc.
5. They Perform Tasks Related to Tests:
Executing test cases, Maintaining tests, Writing automated scripts and etc.
6. They Can Manage Testing:
Coordinating testing, Helping to plan sprints, Preparing test plans and etc.
The difference between Software Developers and Software
Testers
• Software Developers:
• A software developer is a professional
whose work is mainly concerned with the
development of software.
• As the name suggests he is responsible to
design or develop the new software to fulfil
the demand of the end users.
• They develop like business software, mobile
software or applications, computers
software.
• Software Tester
• A software tester is a professional who tests
software to ensure that there is no bug, or
problems in the software that can affect the
performance of a software or application
before launching it in the market.
• They are expert in handling software quality
testing tools and techniques. It is the
responsibility of a software tester to ensure
that software will perform as desired both
functionally and non-functionally.
A Software
Tester
Responsibilities
• To read all the documents and understand what
needs to be tested.
• To inform the test lead about what all resources
will be required for software testing.
• To develop test cases and prioritize testing
activities.
• To execute all the test case and report defects,
define severity and priority for each defect.
• To carry out regression testing every time when
changes are made to the code to fix defects.
The relation of Testing and Quality Assurance
• Quality Assurance (QA):
• The goal is to provide assurance that the product is meeting customer’s quality
expectations.
• QA deals with the bugs prevention from occurring in the product being developed.
• Main responsibility is to create and implement methods and standards to improve the
development process.
• QA is associated with activities like measuring the quality of the process used to develop the
product, process improvement and defect prevention.
• Testing (Quality Control (QC)):
• The goal is to evaluate the product, find the defects and suggest improvements.
• QC implements the process established by QA.
Why is a
Software
Defect Called a
Bug?
• The Harvard Mark II was an electromechanical
computer built at Harvard University under the
direction of Howard Aiken and was finished in
1947. It was financed by the United States Navy.
• When the operators use the computer to perform
calculations, it gave the wrong results. To find out
what was going wrong, they opened the computer
and looked inside; there they found a moth stuck.
Why does
Software have
Defects?
• Misunderstood requirements;
• Miscommunication or no communication;
• Software complexity;
• Programming errors;
• Changing requirements (whether
documented or undocumented);
• Time pressures;
• Poorly documented code;
• Wrong assumptions made while coding;
• Lack of training to resources for the skills
needed for developing and testing;
Automated
Testing
• Automated testing is the act of conducting specific
tests via automation. This differs from manual
testing in which a human being is responsible for
single-handedly testing the functionality of the
software in the way a user would. Because
automated testing is done through an automation
tool, less time is required in exploratory tests and
more time is needed in maintaining test scripts
while increasing overall test coverage.
Manual
Testing
• Manual Testing is a process of finding out the
defects in a software program. In this method, the
tester plays an important role of the end user and
verifies that all the features of the application are
working correctly. The tester manually executes
test cases without using any automation tools.
A Software Tester

A Software Tester

  • 1.
  • 2.
    What is aSoftware? • The software is a general term for the various kinds of programs used to operate computers and related devices. What is Software Testing? • Software testing is a process to evaluate the functionality of a software application with an intention to find whether the developed software met the specified requirements or not and to identify in order to improve the quality.
  • 3.
    Software Testing History •Glenford J. Myers initially introduced the separation of debugging from testing in 1979. Although his attention was on breakage testing ("A successful test case is one that detects an as-yet undiscovered error.") it illustrated the desire of the software engineering community to separate fundamental development activities, such as debugging, from that of verification.
  • 4.
    The principles of Software Testing 1.Testing shows the presence of defects. 2. Exhaustive testing is impossible. 3. Early testing. 4. Defect clustering. 5. Pesticide Paradox. 6. Testing is context dependent. 7. The absence of error – fallacy.
  • 5.
    Who is a Software Tester? •A software tester is an individual that tests software for bugs or any problem that can affect the performance of computer software or an application. • Software testers are part of a software development team and perform functional and non-functional testing of software using manual and automated software testing techniques.
  • 6.
    The requirements of being Software Tester •Analytical Skills: A good software tester should have sharp analytical skills. Analytical skills will help break up a complex software system into smaller units to gain a better understanding and created corresponding test cases. • Technical Skills: A good software tester should have strong technical skills. This includes a high level of proficiency in tools like MS Office, OpenOffice, Testing tools like QTP, Loadrunner and of course deep understanding of the application under test. • Sound Communicator: A good software tester should have good verbal and written communication skill. • Efficient and Organized: Testing at times could be a demanding job especially during the release of code. • Always Attitude matters: To be a good software tester you should have a great attitude. • Passionate: To excel in any profession or job, one should have a great degree of passion for it.
  • 7.
    The principles of testing •Testing can show a presence of defects, but cannot prove that there are no defects; • Testing everything is not feasible and not possible; • Testing activities shall be started as early as possible; • A small number of modules usually contains most of the defects; • The test cases need to be regularly revised; • Testing is done differently in a different context; • Absence-of-error fallacy.
  • 8.
    What Do SoftwareTesters Do? 1. They Explore These Types of Testing: Exploratory testing, Functional testing, Performance testing and etc. 2. They Do Things Related To Bugs: Raising bugs / Breaking things,Re-opening bugs,Fixing bugs and etc. 3. They Get Involved With Information Gathering: Knowledge gathering, Investigating technology, Asking questions and etc. 4. They Do Testing Type Activities: Designing and reviewing test strategies, test plans and test cases, Monitoring, Reporting and etc. 5. They Perform Tasks Related to Tests: Executing test cases, Maintaining tests, Writing automated scripts and etc. 6. They Can Manage Testing: Coordinating testing, Helping to plan sprints, Preparing test plans and etc.
  • 9.
    The difference betweenSoftware Developers and Software Testers • Software Developers: • A software developer is a professional whose work is mainly concerned with the development of software. • As the name suggests he is responsible to design or develop the new software to fulfil the demand of the end users. • They develop like business software, mobile software or applications, computers software. • Software Tester • A software tester is a professional who tests software to ensure that there is no bug, or problems in the software that can affect the performance of a software or application before launching it in the market. • They are expert in handling software quality testing tools and techniques. It is the responsibility of a software tester to ensure that software will perform as desired both functionally and non-functionally.
  • 10.
    A Software Tester Responsibilities • Toread all the documents and understand what needs to be tested. • To inform the test lead about what all resources will be required for software testing. • To develop test cases and prioritize testing activities. • To execute all the test case and report defects, define severity and priority for each defect. • To carry out regression testing every time when changes are made to the code to fix defects.
  • 11.
    The relation ofTesting and Quality Assurance • Quality Assurance (QA): • The goal is to provide assurance that the product is meeting customer’s quality expectations. • QA deals with the bugs prevention from occurring in the product being developed. • Main responsibility is to create and implement methods and standards to improve the development process. • QA is associated with activities like measuring the quality of the process used to develop the product, process improvement and defect prevention. • Testing (Quality Control (QC)): • The goal is to evaluate the product, find the defects and suggest improvements. • QC implements the process established by QA.
  • 12.
    Why is a Software DefectCalled a Bug? • The Harvard Mark II was an electromechanical computer built at Harvard University under the direction of Howard Aiken and was finished in 1947. It was financed by the United States Navy. • When the operators use the computer to perform calculations, it gave the wrong results. To find out what was going wrong, they opened the computer and looked inside; there they found a moth stuck.
  • 13.
    Why does Software have Defects? •Misunderstood requirements; • Miscommunication or no communication; • Software complexity; • Programming errors; • Changing requirements (whether documented or undocumented); • Time pressures; • Poorly documented code; • Wrong assumptions made while coding; • Lack of training to resources for the skills needed for developing and testing;
  • 14.
    Automated Testing • Automated testingis the act of conducting specific tests via automation. This differs from manual testing in which a human being is responsible for single-handedly testing the functionality of the software in the way a user would. Because automated testing is done through an automation tool, less time is required in exploratory tests and more time is needed in maintaining test scripts while increasing overall test coverage.
  • 15.
    Manual Testing • Manual Testingis a process of finding out the defects in a software program. In this method, the tester plays an important role of the end user and verifies that all the features of the application are working correctly. The tester manually executes test cases without using any automation tools.