In this chapter, we will introduce you to the
fundamentals of testing:
why testing is needed;
its limitations, objectives, and purpose;
the principles behind testing;
the process that testers follow;
and some of the psychological factors that testers must consider in their work.
like Google, Improve your Test perception & practices and learn how Test might be a key lever to improve your business.
- Understand the different types of Test
- Best & Worst practices of Test
Dallas Education ISO 9001:2008,20000-2005,27001:2013 Certified, based at Bangalore India, Providing services in software consulting, application development, outsourcing services, Recruitment and Training. Started operation in the year 2001. We design, build, and support customized applications for businesses large and small. We are the market leader in training and outsourcing in various technologies. We ,Dallas Education, serve and support IT companies in the areas of Mainframes, ERP, .net, Java/J2EE,Data Warehousing and Business Intelligence, etc. we also train and outsource fresh talents to our clients.
This paper describes the different techniques of testing the software. This paper explicitly addresses the idea for testability and the important thing is that the testing itself-not just by saying that testability is a desirable goal, but by showing how to do it. Software testing is the process we used to measure the quality of developed software. Software Testing is not just about error-finding and their solution but also about checking the client requirements and testing that those requirements are met by the software solution. It is the most important functional phase in the Software Development Life Cycle(SDLC) as it exhibits all mistakes, flaws and errors in the developed software. Without finding these errors, technically termed as ‘bugs,’ software development is not considered to be complete. Hence, software testing becomes an important parameter for assuring quality of the software product. We discuss here about when to start and when to stop the testing of software. How errors or Bugs are formed and rectified. How software testing is done i.e. with the help of Team Work.
Successful Test Automation: A Manager’s ViewTechWell
Many organizations invest substantial time and effort in test automation but do not achieve the significant returns they expected. Some blame the tool they used; others conclude test automation just doesn't work in their situation. The truth, however, is often very different. These organizations are typically doing many of the right things but they are not addressing key issues that are vital to long term test automation success. Describing the most important issues that you must address, Mark Fewster helps you understand and choose the best approaches for your organization—no matter which automation tools you use. We’ll discuss both management issues—responsibilities, automation objectives, and return on investment—and technical issues—testware architecture, pre- and post-processing, and automated comparison techniques. If you are involved with managing test automation and need to understand the key issues in making test automation successful, join Mark for this enlightening tutorial.
like Google, Improve your Test perception & practices and learn how Test might be a key lever to improve your business.
- Understand the different types of Test
- Best & Worst practices of Test
Dallas Education ISO 9001:2008,20000-2005,27001:2013 Certified, based at Bangalore India, Providing services in software consulting, application development, outsourcing services, Recruitment and Training. Started operation in the year 2001. We design, build, and support customized applications for businesses large and small. We are the market leader in training and outsourcing in various technologies. We ,Dallas Education, serve and support IT companies in the areas of Mainframes, ERP, .net, Java/J2EE,Data Warehousing and Business Intelligence, etc. we also train and outsource fresh talents to our clients.
This paper describes the different techniques of testing the software. This paper explicitly addresses the idea for testability and the important thing is that the testing itself-not just by saying that testability is a desirable goal, but by showing how to do it. Software testing is the process we used to measure the quality of developed software. Software Testing is not just about error-finding and their solution but also about checking the client requirements and testing that those requirements are met by the software solution. It is the most important functional phase in the Software Development Life Cycle(SDLC) as it exhibits all mistakes, flaws and errors in the developed software. Without finding these errors, technically termed as ‘bugs,’ software development is not considered to be complete. Hence, software testing becomes an important parameter for assuring quality of the software product. We discuss here about when to start and when to stop the testing of software. How errors or Bugs are formed and rectified. How software testing is done i.e. with the help of Team Work.
Successful Test Automation: A Manager’s ViewTechWell
Many organizations invest substantial time and effort in test automation but do not achieve the significant returns they expected. Some blame the tool they used; others conclude test automation just doesn't work in their situation. The truth, however, is often very different. These organizations are typically doing many of the right things but they are not addressing key issues that are vital to long term test automation success. Describing the most important issues that you must address, Mark Fewster helps you understand and choose the best approaches for your organization—no matter which automation tools you use. We’ll discuss both management issues—responsibilities, automation objectives, and return on investment—and technical issues—testware architecture, pre- and post-processing, and automated comparison techniques. If you are involved with managing test automation and need to understand the key issues in making test automation successful, join Mark for this enlightening tutorial.
Negative testing is all about ensuring that a product or application under test does NOT fail when an unexpected input is being fed. The purpose of Negative testing is to break the system and to verify the application response during unintentional inputs.
Talk for the Project Quality Day at Eclipse Conference Europe 2015. A presentation on how to perform risk based testing, using Jira, Jubula and Mylyn (and Spago4Q), appplied to a real-world use case, the SpagoWorld Shop
Software quality improvement expert Jan Princen and XBOSoft CEO Philip Lew discuss the use of Predictive Analytics to prevent software defects in this XBOSoft webinar on Defect Prevention.
The Catastrophic change and disruption in IT are imposing quality challenges, testing organisations need to be equipped for this massive change in a pragmatic and robust test strategy.
DevOps Tactical Adoption Theory tries to make the transition process as smooth as possible. It hypothesis each step towards DevOps maturity should bring a visible business value empowering management and team commitment for the next step. The innovative idea here, it is not required to add the tools/processes to stack from sequential beginning to end, but seeking benefit.
The reason behind the theory is to encourage practitioners to apply each step one-by-one and then having the benefits in projects. Consequently, each step is tested in terms of utility and proved method validity for the further steps. In contrast to previous adoption models, our model indicates concrete activities rather than general statements.
Theory built on the claim that many DevOps transition projects considered problematic, impractical or even unsuccessful causing concept to become a goal more than a technique. Basically, theory consists of different areas of interest describing various actions on a schema.
In the session, it is planned to demonstrate “DevOps Tactical Adoption Theory” with focus on Delivery Pipeline/Testing Practices sectioned "Continuous Testing in DevOps".
A brief overview of the different software testing methods is provided, analysing the main aspects of black-box, white-box and grey-box techniques.
Experienced-based testing is also mentioned.
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
There is no doubt about the importance of automated frameworks in the Agile environment and as part of the day-to-day testing process. These are some insights to guide any automation project.
What a DevOps specialist has to know about static code analysisAndrey Karpov
Reasons of failed introductions.
Place of static analysis in the DevOps process.
Static analysis – friend or foe.
Notifications about analysis results.
What to do with 10 000 analyzer warnings after the first run?
How much time is needed for fixing all bugs?
Q&A or what’s next?
Risk-based testing is a commonly-performed technique for prioritizing tests that must be performed in a short time frame. However, this technique isn't perfect and has some risks in itself. This presentation lists 13 ways a tester can be "fooled by risk."
Negative testing is all about ensuring that a product or application under test does NOT fail when an unexpected input is being fed. The purpose of Negative testing is to break the system and to verify the application response during unintentional inputs.
Talk for the Project Quality Day at Eclipse Conference Europe 2015. A presentation on how to perform risk based testing, using Jira, Jubula and Mylyn (and Spago4Q), appplied to a real-world use case, the SpagoWorld Shop
Software quality improvement expert Jan Princen and XBOSoft CEO Philip Lew discuss the use of Predictive Analytics to prevent software defects in this XBOSoft webinar on Defect Prevention.
The Catastrophic change and disruption in IT are imposing quality challenges, testing organisations need to be equipped for this massive change in a pragmatic and robust test strategy.
DevOps Tactical Adoption Theory tries to make the transition process as smooth as possible. It hypothesis each step towards DevOps maturity should bring a visible business value empowering management and team commitment for the next step. The innovative idea here, it is not required to add the tools/processes to stack from sequential beginning to end, but seeking benefit.
The reason behind the theory is to encourage practitioners to apply each step one-by-one and then having the benefits in projects. Consequently, each step is tested in terms of utility and proved method validity for the further steps. In contrast to previous adoption models, our model indicates concrete activities rather than general statements.
Theory built on the claim that many DevOps transition projects considered problematic, impractical or even unsuccessful causing concept to become a goal more than a technique. Basically, theory consists of different areas of interest describing various actions on a schema.
In the session, it is planned to demonstrate “DevOps Tactical Adoption Theory” with focus on Delivery Pipeline/Testing Practices sectioned "Continuous Testing in DevOps".
A brief overview of the different software testing methods is provided, analysing the main aspects of black-box, white-box and grey-box techniques.
Experienced-based testing is also mentioned.
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
There is no doubt about the importance of automated frameworks in the Agile environment and as part of the day-to-day testing process. These are some insights to guide any automation project.
What a DevOps specialist has to know about static code analysisAndrey Karpov
Reasons of failed introductions.
Place of static analysis in the DevOps process.
Static analysis – friend or foe.
Notifications about analysis results.
What to do with 10 000 analyzer warnings after the first run?
How much time is needed for fixing all bugs?
Q&A or what’s next?
Risk-based testing is a commonly-performed technique for prioritizing tests that must be performed in a short time frame. However, this technique isn't perfect and has some risks in itself. This presentation lists 13 ways a tester can be "fooled by risk."
Fundamentals of testing - Testing & Implementationsyogi syafrialdi
As we go through this section, watch for the Syllabus terms bug, defect, error, failure, fault, mistake, quality, risk, software, testing and exhaustive testing. You'll find these terms defined in the glossary.
Materi Testing & Implementation System
Program Studi Sistem Informasi
Fakultas Sains dan Teknologi
UIN SUSKA RIAU
http://sif.uin-suska.ac.id/
http://fst.uin-suska.ac.id/
http://www.uin-suska.ac.id/
In this chapter, we will introduce you to the fundamentals of testing: why testing is needed; its limitations, objectives and purpose; the principles behind testing; the process that testers follow; and some of the psychological factors that testers must consider in their work. By reading this chapter you'll gain an understanding of the fundamentals of testing and be able to describe those fundamentals.
The Internet of Things (IoT), is defined as the network of physical objects—devices, vehicles, buildings and other items—embedded with electronics, software, sensors, and network connectivity that enables these objects to collect and exchange data.
An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.
Luckily, there’s plenty of good quality coding training available here on the Internet. What better place to learn web development than the web itself?
Internet is a global communication system that links together thousands of individual networks.
It allows exchange of information between two or more computers on a network.
System Center Service Manager is a software product by Microsoft to allow organizations to manage incidents and problems. Microsoft states that the product is compliant with industry best practices such as the Microsoft Operations Framework and in the Information Technology Infrastructure Library.
Understanding System Center
https://www.youtube.com/watch?v=4sYqb6F5QKk
Microsoft System Center Orchestrator is a workflow automation software product that allows administrators to automate the monitoring and deployment of data center resources.
Understanding System Center
https://www.youtube.com/watch?v=4sYqb6F5QKk
The chapter classifies existing QoS/QoE mapping models from practical perspectives, also enumerates few IP-oriented QoE/QoS mapping models used for video services. Further discusses approaches that could be used to add QoE capability to networks and services.
Microsoft System Center is a set of server management products which are aimed at helping corporate or enterprise IT administrators to manage their systems, whether on-premises, in the cloud, or across platforms.
Quality of experience (QoE) is the degree of delight or annoyance of the user of an application or service. It results from the fulfillment of his or her expectations with respect to the utility/enjoyment of the application or service in the light of the user’s personality and current state.
QoS is the measurable end-to-end performance properties of a network service, which can be guaranteed in advance by a service level agreement (SLA) between a user and a service provider, so as to satisfy specific customer application requirements.
A technology that enables the forming of logically isolated virtual
networks over shared physical networks so that heterogeneous collections of multiple virtual networks can simultaneously coexist over the shared physical networks.
Explain the elements of the NFV infrastructure and their interrelationships.
Understand key design issues related to virtualized network functions.
Explain the purpose of and operation of NFV management and orchestration.
Present an overview of important NFV use cases.
The development process adopted for a project will depend on the project's aims and goals.
The models specify the various stages of the process and the order in which they are carried out.
The way testing is organized must fit the development life cycle or it will fail to deliver its benefit.
Verification is the process of checking that a software achieves its goal without any bugs.
Validation is a dynamic mechanism of Software testing and validates the actual product.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
2. Chapter Discusses
In this chapter, we will introduce you to the
fundamentals of testing:
• why testing is needed;
• its limitations, objectives and purpose;
• the principles behind testing;
• the process that testers follow;
• and some of the psychological factors that
testers must consider in their work.
2Prof. Mustufa I N
4. 1.1.1 Introduction
• 'when we are testing
something we are checking
whether it is OK'.
• Testing is necessary because
we all make mistakes.
• Some of those mistakes are
unimportant, but some of
them are expensive or
dangerous.
• We need to check
everything and anything we
produce because things can
always go wrong - humans
make mistakes all the time -
it is what we do best!
•However, some mistakes
come from bad assumptions
and blind spots, so we might
make the same mistakes
when we check our own work
as we made when we did it.
• So we may not notice the
flaws in what we have done.
Ideally, we should get
someone else to check our
work - another person is
more likely to spot the flaws.
4Prof. Mustufa I N
8. 1.1.2 Software system concept
• These days, almost everyone is aware of software
systems.
• We encounter them in our homes, at work, while
shopping, and because of mass-communication systems.
• More and more, they are part of our lives. We use
software in day-today business applications such as
banking and in consumer products such as cars and
washing machines.
• However, most people have had an experience with
software that did not work as expected
• Not all software systems carry the same level of risk and
not all problems have the same impact when they occur.
8Prof. Mustufa I N
9. RISK
• A risk is something that has not happened yet
and it may never happen; it is a potential
problem.
• We are concerned about these potential
problems because, if one of them did happen,
we'd feel a negative impact.
9Prof. Mustufa I N
11. Risk Effect Example
• If my personal family-tree website has my maternal
grandmother's maiden name spelt wrong, my mother gets
annoyed and I have to put up with some family teasing, but
I can fix it easily and only the family see it (probably).
• If the company website has some spelling mistakes in the
text, potential customers may be put off the company as it
looks unprofessional.
• If a software program miscalculates pesticide application
quantities, the effect could be very significant: suppose a
decimal point is wrongly placed so that the application rate
is 10 times too large. The farmer or gardener uses more
pesticide than needed,
11Prof. Mustufa I N
12. 1.1.3 Causes of software defects
• Why is it that software systems sometimes don't work
correctly? We know that people make mistakes - we are
fallible.
• If someone makes an error or mistake in using the
software, this may lead directly to a problem - the software
is used incorrectly and so does not behave as we expected.
• During the design and build.
• When the software code has been built, it is executed and
then any defects may cause the system to fail to do what it
should do (or do something it shouldn't), causing a failure.
• Not all defects result in failures; some stay dormant in the
code and we may never notice them.
12Prof. Mustufa I N
14. Do our mistakes matter?
• The mistakes we make matter partly because they have
consequences for the products for which we are responsible.
• Our mistakes are also important because software systems
and projects are complicated.
14Prof. Mustufa I N
Our fallibility is compounded
when we lack experience,
don't have the right
information, misunderstand,
or if we are careless, tired or
under time pressure.
Additionally, we are more likely to
make errors when dealing with
perplexing technical or business
problems, complex business
processes, code or infrastructure,
changing technologies, or many
system interactions.
19. What is the cost of defects?
• The cost of finding and
fixing defects rises
considerably across the life
cycle; think of the old
English proverb 'a stitch in
time saves nine'.
• This means that if you
mend a tear in your sleeve
now while it is small, it's
easy to mend, but if you
leave it, it will get worse
and need more stitches to
mend it.
19Prof. Mustufa I N
21. 1.1.4 Role of testing in software
development, maintenance and operations
• Rigorous testing is necessary during development
and maintenance to identify defects, in order to
reduce failures in the operational environment and
increase the quality of the operational system.
• Executing tests helps us move towards improved
quality of product and service, but that is just one of
the verification and validation methods applied to
products
21Prof. Mustufa I N
26. What is root cause analysis?
• There are several ways of carrying out root
cause analysis, often involving a group
brainstorming ideas and discussing them, so
you may see different techniques in different
organizations.
• If you are interested in using root cause
analysis in your work.
26Prof. Mustufa I N
28. 1.1.6 How much testing is enough?
• We've seen that testing helps us find defects and
improve software quality. How much testing
should we do? We have a choice: test everything,
test nothing or test some of the software.
• Now, your immediate response to that may well
be to say, 'Everything must be tested'.
• We don't want to use software that has not been
completely tested, do we? This implies that we
must exercise every aspect of a software system
during testing.
28Prof. Mustufa I N
32. 1.2.1 The driving test - an analogy for
software testing
• We have spent some time describing why we
need to test, but we have not discussed what
testing is.
• What do we mean by the word testing? We
use the words test and testing in everyday life
and earlier we said testing could be described
as 'checking the software is OK'.
• That is not a detailed enough definition to
help us understand software testing.
32Prof. Mustufa I N
33. 1.2.2 Defining software testing
• Process - Testing is a process rather than a single activity - there are a
series of activities involved.
• All life cycle activities - looks at testing as a process that takes place
throughout the software development life cycle.
• Both static and dynamic - as well as tests where the software code is
executed to demonstrate the results of running tests (often called
dynamic testing) we can also test and find defects without executing
code. This is called static testing.
• Planning - Activities take place before and after test execution.
• Preparation - We need to choose what testing we'll do, by selecting
test conditions and designing test cases.
• Evaluation - As well as executing the tests, we must check the results
and evaluate the software under test and the completion criteria.
• Software products and related work products - We don't just test
code. We test the requirements and design specifications, and we test
related documents such as operation, user and training material. 33Prof. Mustufa I N
34. 1.2.4 When can we meet our test
objectives?
• finding defects;
• gaining confidence in and providing
information about the level of quality;
• preventing defects.
34Prof. Mustufa I N
35. 1.2.5 Focusing on defects can help us
plan our tests
• One phenomenon that many testers have
observed is that defects tend to cluster.
• This can happen because an area of the code
is particularly complex and tricky, or because
changing software and other products tends
to cause knock-on defects.
• Testers will often use this information when
making their risk assessment for planning the
tests, and will focus on known 'hot spots'.
35Prof. Mustufa I N
41. •Project and test plans should include time to be spent on
planning the tests, designing test cases, preparing for
execution and evaluating status.
•Whatever the level of testing, we see the same type of
main activities happening, although there may be a
different amount of formality at the different levels.
• The decision about the level of formality of the
processes will depend on the system and software
context and the level of risk associated with the software.
1.4 FUNDAMENTAL TEST PROCESS
41Prof. Mustufa I N
42. 1.4 FUNDAMENTAL TEST PROCESS
The fundamental test process is the following
basic steps:
• Planning and control;
• Analysis and design;
• Implementation and execution;
• Evaluating exit criteria and reporting;
• Test closure activities.
42Prof. Mustufa I N
44. Test planning
• Determine the scope and risks and identify the
objectives of testing:
• Determine the test approach (techniques, test items,
coverage, identifying and interfacing with the teams
involved in testing, testware)
• Implement the test policy and/or the test strategy:
• Determine the required test resources (e.g. people, test
environment, PCs):
• Schedule test analysis and design tasks, test
implementation, execution and evaluation:
• Determine the exit criteria:
44Prof. Mustufa I N
46. Test control
has the following major tasks:
• Measure and analyze the results of reviews
and testing:
• Provide information on testing
• Initiate corrective actions
• Make decisions
46Prof. Mustufa I N
47. Test analysis and design
• Test analysis and design is
the activity where general
testing objectives are
trans-formed into tangible
test conditions and test
designs.
• Review the test basis ,
examining the
specifications for the
software we are testing.
• Identify test conditions
based on analysis of test
items, their specifications,
and what we know about
their behaviour and
structure.
• Design the tests using
techniques to help select
representative tests that
relate to particular
aspects of the software
which carry risks.
• Design the test
environment set-up and
identify any required
infrastructure and tools.
47Prof. Mustufa I N
49. Test implementation and execution
Implementation
– Develop and prioritize our test cases
– Create test suites from the test cases for efficient
test execution. A test suite is a logical collection of
test cases which naturally work together.
– Implement and verify the environment.
49Prof. Mustufa I N
50. Test implementation and execution
Execution:
– Execute the test suites and individual test cases,
following our test procedures.
– Log the outcome of test execution and record the
identities and versions of the software under test,
test tools and testware.
– Compare actual results (what happened when we
ran the tests) with expected results (what we
anticipated would happen).
– Where there are differences between actual and
expected results, report discrepancies as incidents.
50Prof. Mustufa I N
51. Evaluating exit criteria and reporting
• Check test logs against the exit criteria
specified in test planning:
• Assess if more tests are needed or if the exit
criteria specified should be changed:
• Write a test summary report for stakeholders
51Prof. Mustufa I N
54. Test closure activities
• Check which planned deliverables we actually
delivered and ensure all incident reports have
been resolved through defect repair or deferral.
• Finalize and archive testware, such as scripts, the
test environment, and any other test
infrastructure, for later reuse.
• Hand over testware to the maintenance
organization who will support the software and
make any bug fixes or maintenance changes, for
use in con firmation testing and regression testing.
• Evaluate how the testing went and analyze lessons
learned for future releases and projects.
54Prof. Mustufa I N
55. 1.5 THE PSYCHOLOGY OF TESTING
1.5.1 Independent testing - who is a tester? - building the
software requires a different mindset from testing the
software.
This degree of independence avoids author bias and is often
more effective at finding defects and failures.
– tests by the person who wrote the item under test;
– tests by another person within the same team, such as another
programmer;
– tests by a person from a different organizational group, such as an
independent test team;
– tests designed by a person from a different-organization or company,
such as outsourced testing or certification by an external body.
55Prof. Mustufa I N
58. 1.5.2 Why do we sometimes not get
on with the rest of the team?
• One manager may want the confirmation that the software
works and that it is 'good enough' if this is seen as a way of
delivering as fast as possible.
• Another manager may want the testing to find as many
defects as possible before the software is released, which
will take longer to do and will require time for fixing, re-
testing and regression testing.
• If there are not clearly stated objectives and exit criteria for
testing which all the stakeholders have agreed, arguments
might arise, during the testing or after release, about
whether 'enough' testing has been done.
58Prof. Mustufa I N
60. • Communicate findings on the product in a
neutral, fact-focused way without criticizing the
person who created it. For example, write
objective and factual incident reports and review
findings.
Don't gloat - you are not perfect either!
Don't blame - any mistakes are probably by the
group rather than an individual.
Be constructively critical and discuss the defect
and how you are going to log it.
60Prof. Mustufa I N
61. • Explain that by knowing about this now we can
work round it or fix it so the delivered system is
better for the customer.
- Say what you liked and what worked, as well as
what didn't work.
- Show what the risk is honestly - not everything is
high priority.
- Don't just see the pessimistic side - give praise as
well as criticism.
- Show what risks have been uncovered and the
benefits of the review or test.
61Prof. Mustufa I N
62. • Start with collaboration rather than battles. Remind
everyone of the common goal of better quality
systems.
Be polite and helpful, collaborate with your colleagues.
Try to understand how the other person feels and why
they react as they do.
Confirm that the other person has understood what
you have said and vice versa.
Explain how the test or review helps the author -
what's in it for him or her.
Offer your work to be reviewed, too.
62Prof. Mustufa I N