SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
 




                  Software Testing Techniques 
                               Getting Started with Software Testing 
                                                                   
                                                          Beth Schechner 
                                                           Elementool 

 

 

 




    The content of this eBook is provided to you for free by Elementool. You may distribute this eBook to anyone you know. If you
                                   quote or use the text in this eBook, we ask that you give us credit


                                                     www.elementool.com 
Software Testing Techniques
                                Getting Started with Software Testing


Software bugs are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5
billion annually, or about 0.6 % of the gross domestic product.i An estimated $22.2 billion could be saved
                                      annually in the U.S. just by implementing an improved testing
                                      infrastructure to enable earlier and more effective identification, and
                                      removal, of software defects!

                                     These are large numbers, for sure. You’re probably thinking that
                                     since this cost is spread out over the entire U.S. economy, that the
                                     impact isn’t all too staggering. However, think about what 0.6% of
                                     your company’s annual revenues are! That’s probably a fairly large
                                     number; now imagine that you could prevent the loss of almost half
                                     that number simply by improving your software testing process.
Testing is what ensures that your software application is of the high quality that your customers want. It’s
what makes sure that the product you send out the door is consistent with your business goals. This is a
HUGE piece of the software development lifecycle (SDLC); testing typically consumes 40 – 50% of any
development project, and even more effort is needed for systems requiring a higher level of reliability.



What is Software Testing? 




                                            www.elementool.com 
Software Testing falls under the umbrella of Quality Assurance (QA), which is the monitoring and
perpetual improvement of the entire software development process. QA is responsible for making sure
that all standards, processes, and procedures are followed. It also has the job of ensuring that any
problems, and potential problems, in the software system are found and appropriately dealt with.  

Every software product or application has a specific target audience. If you’re developing video games,
financial management applications or hospital administration software, to name a few examples, your
audiences are going to be vastly different. Gamers are going to be looking for an entertaining experience,
while your bankers and nurses are going to be judging your applications based on very different criteria
and may have an entirely other idea of success. When your organization is developing or investing in a
software application, you need to make a judgment on whether or not your application is going to meet
the needs and expectations of your target end users and customers, purchasers and your business
partners. Software testing is the process in which you attempt to make this judgment.  

 

Getting Started 

Once your developers have generated the source code, you need to test your software in order to find and
fix as many errors as humanly possible before delivering the product to your target customers. Your goal
should be to create a hermetic process that prevents bugs from slipping through the cracks using a series
of test cases that will test every aspect of the product and make sure that everything
is properly covered - but how should you get started?  

These testing techniques will point you in the right direction towards building your
testing practice and discovering bugs, before your application is released to
customers! These techniques will act as a structured guide for creating test cases that
work with the internal logic of software components, and the input and output
domains of your application to find errors in the function, behavior, and performance
of your application.


                                           www.elementool.com 
 

Spreading the Word 

Any new process is going to come as a shock to an organization, especially if there is already an
established way of handling software development and testing projects. How to introduce a new process
for testing all depends on how big your company is, and what unique risks are involved. For large
organizations with high-risk projects (meaning many people, groups, budgets and investors involved),
management needs to seriously get on board and approve of a formalized QA process. Testing, after all, is
a way of affirming that your project is meeting business goals, and getting there in a way that doesn’t
meet those goals is counterproductive.
In companies with a lower risk level, management approval and the overall implementation of your QA
program may happen at a slower, gradual pace. Which process you choose, and how you go about
implementing it, will depend on management, feedback to and from developers, and reliable
communications among your customers, managers, developers, and testers!
Having good requirements management processes will also put you one step ahead when you start with
your software testing, letting your team hit the ground running and maintain their pace when testing.
Starting with clear, complete, testable requirement specifications that have been written into
requirements or design documentation, will make it that much easier to test. Knowing what needs to be
tested and how you’re doing in comparison to your business goals will save you both time and money
during the course of the SDLC.




Planning It Out

Now that you’ve started laying out your company’s software testing strategy, what next? Well, you’ll need
a software test plan, and a series of test cases. When you’re building your test plan, you’ll want to lay out



                                           www.elementool.com 
the objectives, scope, approach, and goals of your software testing effort. Building your test plan lets you
see the entire project written out, and figure out what actions you’ll need to take to accomplish your
business objectives. Your software test plan, when finished, should let all those involved, outside of the
testing team, understand the 'why' and 'how' of your
testing effort. Think of your test plan as a roadmap for
testing, and in your roadmap, you’re going to need
specific directions.

Those specific directions will take the form of test
cases. Each test case should describe a specific set of
test steps of a function or feature of your application,
along with the expected results. This will ultimately
help you to determine if each feature of your
application is working correctly. A test case can include
things like a test case name, objective, test conditions, steps, input data requirements and of course, your
expected results. Each organization and project will have its own particular requirements for building a
test case; in some cases there may be just the bare basics, or a whole load of detailed information.
Obviously for a more involved function or feature, more details should be included.

Building test cases should be one of the first steps of your testing process, since they lay out what needs
to be tested and what should be expected. However, developing your test cases not only gets the testing
process started, but it can also help find problems in the requirements or design of an application, since
building the test cases forces you to think through the entire application.

At this point, you may want to consider a management tool to assist in tracking your test cases. This tool
can also help communicate the resulting bugs to your development team, so that they can be resolved or
otherwise handled and then sent back to QA for re-testing. A management or tracking tool will also help




                                           www.elementool.com 
with your reporting process, so that the whole team and business management is involved, and can know
what stage the testing process is at, at any time.




                                           Test Case List Example




Methods
There are many, many different types of software testing, and which method or methods you choose to
employ depend on your product features, goals, existing processes, management and preference. We'll


                                        www.elementool.com 
cover just a few here; the most simple or straightforward testing methods are Functional and System
Testing. Both Functional and System Testing are Black Box testing methods (see below); Functional
Testing simply tests the separate features of your application, based on your previously defined
requirements. System Testing has the same end goal, but tests all of the different pieces of your
application and how they work when combined.
Mentioned above, Black Box and White Box Testing are less specific tasks and more an approach to your
testing, and require slightly different skill sets. Black Box testing is not based on any knowledge of the
software application's internal code or design, but rather on the overall requirements and functionality.
White Box testing, on the other hand, is based on coverage of paths, conditions, branches and code
statements. When using White Box testing, the tester or QA manager is aware of and familiar with the
internal code of the application being tested. As a result, it’s not uncommon for White Box testing to be
done by developers.
For a more inclusive testing approach, you'll utilize Integration and / or Incremental Integration Testing.
The former of these methods tests to see whether the different pieces of your application function
together, as planned. The different pieces could be individual applications, different functions or even
applications that will need to work together on one network. The latter, Incremental Integration, tests the
application consistently each time a new functionality is added. This method is particularly useful when
you need to make sure that various functions of your application can work both independently and as a
whole.
Performance Testing, also known as Load or Stress Testing is also important to run on your application,
particularly if you are building a website or a web-based application which multiple users will expect to
access and actively use at the same time. Load Testing is when you put unusually high demand on your
system or application in order to measure its response, and determine what amount of traffic or use will
cause a system error. For example, if you’re building a multi-player game, you’ll test to see what might
happen if 1,000,000 people are accessing your game online and 25000 users are creating characters,
25000 users are chatting, 25000 users are completing level 3 and 25000 users are adjusting their
preferences. Can your system handle any combination of these processes? What if there are 6,000,000


                                           www.elementool.com 
users online at once? Performance Testing is highly important for producing a successful web-based
application.




                                         Software Testing Lifecycle




These different methods can be practiced independently, or in any combination, to make up your
application testing process.




                                         www.elementool.com 
Conclusion
IT workers spend more than 34% of their time just fixing software bugsii. 34% of the average 40 hour
workweek is 14 hours! That’s almost 2 full days out of every week spent fixing software bugs. However,
              if you lay out your testing process, employ organized and well thought out testing
              methods, and enforce them throughout the SDLC, than you can save your team time and
              your business money. And isn’t that what every testing manager wants to be known for?




                          More eBooks can be found on our website at: www.elementool.com/ebook 

                                                            
i
  NIST: http://www.nist.gov/public_affairs/releases/n02‐10.htm  
ii
      Accenture: http://www.accenture.com/Global/Research_and_Insights/Outlook/By_Alphabet/InformationFail.htm  




                                                         www.elementool.com 

Más contenido relacionado

Más de Sachin MK

Email marketing ver 1.001 [autosaved]
Email marketing ver 1.001 [autosaved]Email marketing ver 1.001 [autosaved]
Email marketing ver 1.001 [autosaved]Sachin MK
 
Database Management Systems Tutorial
Database Management Systems TutorialDatabase Management Systems Tutorial
Database Management Systems TutorialSachin MK
 
Sql Commands
Sql CommandsSql Commands
Sql CommandsSachin MK
 
Inroduction Of Or
Inroduction Of OrInroduction Of Or
Inroduction Of OrSachin MK
 
Grievance Process
Grievance ProcessGrievance Process
Grievance ProcessSachin MK
 
Graphical Method
Graphical MethodGraphical Method
Graphical MethodSachin MK
 
Formulation Lpp
Formulation  LppFormulation  Lpp
Formulation LppSachin MK
 
Factors Influencing Employee Remuneration
Factors Influencing Employee RemunerationFactors Influencing Employee Remuneration
Factors Influencing Employee RemunerationSachin MK
 
Compensation
CompensationCompensation
CompensationSachin MK
 
Sources Financing Nsb
Sources  Financing NsbSources  Financing Nsb
Sources Financing NsbSachin MK
 
Unit I Organisational Behaviour
Unit I Organisational BehaviourUnit I Organisational Behaviour
Unit I Organisational BehaviourSachin MK
 
Simplex Method
Simplex MethodSimplex Method
Simplex MethodSachin MK
 

Más de Sachin MK (20)

Email marketing ver 1.001 [autosaved]
Email marketing ver 1.001 [autosaved]Email marketing ver 1.001 [autosaved]
Email marketing ver 1.001 [autosaved]
 
Mis
MisMis
Mis
 
Database Management Systems Tutorial
Database Management Systems TutorialDatabase Management Systems Tutorial
Database Management Systems Tutorial
 
Html Tutor
Html TutorHtml Tutor
Html Tutor
 
Sql Commands
Sql CommandsSql Commands
Sql Commands
 
Inroduction Of Or
Inroduction Of OrInroduction Of Or
Inroduction Of Or
 
Grievance Process
Grievance ProcessGrievance Process
Grievance Process
 
Graphical Method
Graphical MethodGraphical Method
Graphical Method
 
Formulation Lpp
Formulation  LppFormulation  Lpp
Formulation Lpp
 
Factors Influencing Employee Remuneration
Factors Influencing Employee RemunerationFactors Influencing Employee Remuneration
Factors Influencing Employee Remuneration
 
Fm
FmFm
Fm
 
Compensation
CompensationCompensation
Compensation
 
Sources Financing Nsb
Sources  Financing NsbSources  Financing Nsb
Sources Financing Nsb
 
Projections
ProjectionsProjections
Projections
 
Ratio
RatioRatio
Ratio
 
Unit I Organisational Behaviour
Unit I Organisational BehaviourUnit I Organisational Behaviour
Unit I Organisational Behaviour
 
Simplex Method
Simplex MethodSimplex Method
Simplex Method
 
Projections
ProjectionsProjections
Projections
 
Process
ProcessProcess
Process
 
Morality
MoralityMorality
Morality
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Software testingmethods

  • 1.   Software Testing Techniques  Getting Started with Software Testing    Beth Schechner  Elementool        The content of this eBook is provided to you for free by Elementool. You may distribute this eBook to anyone you know. If you quote or use the text in this eBook, we ask that you give us credit www.elementool.com 
  • 2. Software Testing Techniques Getting Started with Software Testing Software bugs are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 % of the gross domestic product.i An estimated $22.2 billion could be saved annually in the U.S. just by implementing an improved testing infrastructure to enable earlier and more effective identification, and removal, of software defects! These are large numbers, for sure. You’re probably thinking that since this cost is spread out over the entire U.S. economy, that the impact isn’t all too staggering. However, think about what 0.6% of your company’s annual revenues are! That’s probably a fairly large number; now imagine that you could prevent the loss of almost half that number simply by improving your software testing process. Testing is what ensures that your software application is of the high quality that your customers want. It’s what makes sure that the product you send out the door is consistent with your business goals. This is a HUGE piece of the software development lifecycle (SDLC); testing typically consumes 40 – 50% of any development project, and even more effort is needed for systems requiring a higher level of reliability. What is Software Testing?  www.elementool.com 
  • 3. Software Testing falls under the umbrella of Quality Assurance (QA), which is the monitoring and perpetual improvement of the entire software development process. QA is responsible for making sure that all standards, processes, and procedures are followed. It also has the job of ensuring that any problems, and potential problems, in the software system are found and appropriately dealt with.   Every software product or application has a specific target audience. If you’re developing video games, financial management applications or hospital administration software, to name a few examples, your audiences are going to be vastly different. Gamers are going to be looking for an entertaining experience, while your bankers and nurses are going to be judging your applications based on very different criteria and may have an entirely other idea of success. When your organization is developing or investing in a software application, you need to make a judgment on whether or not your application is going to meet the needs and expectations of your target end users and customers, purchasers and your business partners. Software testing is the process in which you attempt to make this judgment.     Getting Started  Once your developers have generated the source code, you need to test your software in order to find and fix as many errors as humanly possible before delivering the product to your target customers. Your goal should be to create a hermetic process that prevents bugs from slipping through the cracks using a series of test cases that will test every aspect of the product and make sure that everything is properly covered - but how should you get started?   These testing techniques will point you in the right direction towards building your testing practice and discovering bugs, before your application is released to customers! These techniques will act as a structured guide for creating test cases that work with the internal logic of software components, and the input and output domains of your application to find errors in the function, behavior, and performance of your application. www.elementool.com 
  • 4.   Spreading the Word  Any new process is going to come as a shock to an organization, especially if there is already an established way of handling software development and testing projects. How to introduce a new process for testing all depends on how big your company is, and what unique risks are involved. For large organizations with high-risk projects (meaning many people, groups, budgets and investors involved), management needs to seriously get on board and approve of a formalized QA process. Testing, after all, is a way of affirming that your project is meeting business goals, and getting there in a way that doesn’t meet those goals is counterproductive. In companies with a lower risk level, management approval and the overall implementation of your QA program may happen at a slower, gradual pace. Which process you choose, and how you go about implementing it, will depend on management, feedback to and from developers, and reliable communications among your customers, managers, developers, and testers! Having good requirements management processes will also put you one step ahead when you start with your software testing, letting your team hit the ground running and maintain their pace when testing. Starting with clear, complete, testable requirement specifications that have been written into requirements or design documentation, will make it that much easier to test. Knowing what needs to be tested and how you’re doing in comparison to your business goals will save you both time and money during the course of the SDLC. Planning It Out Now that you’ve started laying out your company’s software testing strategy, what next? Well, you’ll need a software test plan, and a series of test cases. When you’re building your test plan, you’ll want to lay out www.elementool.com 
  • 5. the objectives, scope, approach, and goals of your software testing effort. Building your test plan lets you see the entire project written out, and figure out what actions you’ll need to take to accomplish your business objectives. Your software test plan, when finished, should let all those involved, outside of the testing team, understand the 'why' and 'how' of your testing effort. Think of your test plan as a roadmap for testing, and in your roadmap, you’re going to need specific directions. Those specific directions will take the form of test cases. Each test case should describe a specific set of test steps of a function or feature of your application, along with the expected results. This will ultimately help you to determine if each feature of your application is working correctly. A test case can include things like a test case name, objective, test conditions, steps, input data requirements and of course, your expected results. Each organization and project will have its own particular requirements for building a test case; in some cases there may be just the bare basics, or a whole load of detailed information. Obviously for a more involved function or feature, more details should be included. Building test cases should be one of the first steps of your testing process, since they lay out what needs to be tested and what should be expected. However, developing your test cases not only gets the testing process started, but it can also help find problems in the requirements or design of an application, since building the test cases forces you to think through the entire application. At this point, you may want to consider a management tool to assist in tracking your test cases. This tool can also help communicate the resulting bugs to your development team, so that they can be resolved or otherwise handled and then sent back to QA for re-testing. A management or tracking tool will also help www.elementool.com 
  • 6. with your reporting process, so that the whole team and business management is involved, and can know what stage the testing process is at, at any time. Test Case List Example Methods There are many, many different types of software testing, and which method or methods you choose to employ depend on your product features, goals, existing processes, management and preference. We'll www.elementool.com 
  • 7. cover just a few here; the most simple or straightforward testing methods are Functional and System Testing. Both Functional and System Testing are Black Box testing methods (see below); Functional Testing simply tests the separate features of your application, based on your previously defined requirements. System Testing has the same end goal, but tests all of the different pieces of your application and how they work when combined. Mentioned above, Black Box and White Box Testing are less specific tasks and more an approach to your testing, and require slightly different skill sets. Black Box testing is not based on any knowledge of the software application's internal code or design, but rather on the overall requirements and functionality. White Box testing, on the other hand, is based on coverage of paths, conditions, branches and code statements. When using White Box testing, the tester or QA manager is aware of and familiar with the internal code of the application being tested. As a result, it’s not uncommon for White Box testing to be done by developers. For a more inclusive testing approach, you'll utilize Integration and / or Incremental Integration Testing. The former of these methods tests to see whether the different pieces of your application function together, as planned. The different pieces could be individual applications, different functions or even applications that will need to work together on one network. The latter, Incremental Integration, tests the application consistently each time a new functionality is added. This method is particularly useful when you need to make sure that various functions of your application can work both independently and as a whole. Performance Testing, also known as Load or Stress Testing is also important to run on your application, particularly if you are building a website or a web-based application which multiple users will expect to access and actively use at the same time. Load Testing is when you put unusually high demand on your system or application in order to measure its response, and determine what amount of traffic or use will cause a system error. For example, if you’re building a multi-player game, you’ll test to see what might happen if 1,000,000 people are accessing your game online and 25000 users are creating characters, 25000 users are chatting, 25000 users are completing level 3 and 25000 users are adjusting their preferences. Can your system handle any combination of these processes? What if there are 6,000,000 www.elementool.com 
  • 8. users online at once? Performance Testing is highly important for producing a successful web-based application. Software Testing Lifecycle These different methods can be practiced independently, or in any combination, to make up your application testing process. www.elementool.com 
  • 9. Conclusion IT workers spend more than 34% of their time just fixing software bugsii. 34% of the average 40 hour workweek is 14 hours! That’s almost 2 full days out of every week spent fixing software bugs. However, if you lay out your testing process, employ organized and well thought out testing methods, and enforce them throughout the SDLC, than you can save your team time and your business money. And isn’t that what every testing manager wants to be known for? More eBooks can be found on our website at: www.elementool.com/ebook                                                               i  NIST: http://www.nist.gov/public_affairs/releases/n02‐10.htm   ii  Accenture: http://www.accenture.com/Global/Research_and_Insights/Outlook/By_Alphabet/InformationFail.htm   www.elementool.com