SlideShare a Scribd company logo
Automated Testing with Team Test Unit, Web, Performance, Load, Manual, and Ordered Tests  Code Coverage and Code Analysis
Quality Challenges “ Software bugs, or errors, are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 percent of the gross domestic product…an estimated $22.2 billion, could be eliminated by an improved testing infrastructure that enables earlier and more effective identification and removal of software defects.” (Source: NIST 2002) Satisfying users Business interruption risks Ongoing maintenance costs rising Less avail. resources
How Does VSTS/TFS Help? Increased Communication and Integration… Code Analysis Tools Code Profiling Tools Unit Testing and Code Coverage Load Testing Other Testing Tools Test Case Management
Unit Testing Each unit is tested independently A large percentage of defects are identified during unit testing Automatic and repeatable code testing Simplifies integration Self documenting Auto-generate Isolate small portion of code & determine whether it works correctly
Benefits of Automated Unit Testing Repeatable unit that verifies code still works Confirm code is tested Build a set of regression tests Make changes with confidence Aid in understanding code Limits: integration, web and Windows UI testing, load, performance testing
Unit Test Types Class (standard) Test the properties and methods of a class Data-driven Bind unit test parameters to a datasource ASP.NET Test classes (or business logic) inside an ASP.NET application  Run in the context of the web server (ASP objects available) Web Services Define a web reference to the service
Extensions of Unit Testing Regression Testing Modifications are validated with regression tests Write new code and verify system continues to function correctly Integration Testing Helps validate how tested components interact with one another Can identify problems that occur when units are combined Scenario Testing Combine sequence of unit tests to cover a scenario
Writing Effective Unit Tests Atomic Should not require others tests to be run first Cover all cases  One test for each sceneario Cover all conditions, exceptions, nulls, etc. Able to re-run without configuration Database create/read/update/delete without having to modify the database before or after the test is run Test a common application state Unit tests should be …
Unit Test Conditions Success baseline Common, successful, most-likely call to your code Parameter mix Pass a varied set of parameters Data-driven Bounds checking Stress the upper and lower limits of your parameters Null values Determine outcome of passing nulls to parameters Error conditions Trigger error conditions and validate expected outcomes Code coverage scenarios Test all conditions in your code
Creating Unit Tests (1 of 2) Attributes are used to denote which methods and classes should be loaded for tests TestClass – denotes a class for testing TestMethod – denotes a method for testing must return void (Sub for VB.NET) and have no parameters Certain attributes are associated with initialization TestInitialize – run before each test TestCleanup – run after each test ClassInitialize – run once before running any tests in the class ClassCleanup – run once after running all tests in the class Assert – static type used for asserting test values ExpectedException – attribute used for determining the exception that should be thrown from the test
Creating Unit Tests (2 of 2) Methods on the Assert type AreSame / AreNotSame AreEqual / AreNotEqual IsNull / IsNotNull IsInstanceOfType / IsNotInstanceOfType IsTrue / IsFalse Other Assert types CollectionAssert – collection equivalency StringAssert – string comparison/regex matching Web test types HtmlDocument – grants access to tags in the html document Validate*/Extract* - types used for reading field values from the request and response
Unit Tests
Code Coverage Improves effectiveness of tests Show a measurable indication of code that was covered by unit tests Strive for 75% and higher Shows the ratio of executed logic to the total logic Can be used in conjunction with unit and load testing Helps to find unused code Determine code that is exercised by tests
Code Coverage
Static Code Analysis Provides a means to enforce coding standards Configurable Reduction in code reviews for small issues Provides guidance on how to fix Define a check-in policy to enforce code analysis pass Coverage includes issues with design, globalization, interoperability, maintainability, naming, performance, reliability, security, and usage Warning: developers can supress messages with attirbute [SuppressMessage("AdventureWorks.Rules", "AW14441")]  MORE INFO  see, “Writing Quality Code” in TFS documentation
Static Code Analysis
Web Testing Record page navigation and user interactions with web pages Run tests back to determine errors Seed tests from a database Run tests from a group of users Validation rules Extractions
Web Testing
Load Testing Load Testing: ensure application works under expected, concurrent user load Create test cases that simulate real user conditions Distribute tests across cases based on user behavior Assume standard think times Distribute across connection types Simulate an application performance  in a production environment Provide repository to look at a  performance trend over time, to see  if changes are helping or hurting  Simulate multiple users against an application simultaneously
Stress Testing Stress Testing: determine breaking points in your application  Find scalability issues before the application is deployed Step (increase) user load over time, monitor Find breaking point and use to monitor application Change software Add hardware
Performance Testing Test at single user Test at normal load Test at peak load (1.5x normal load) Measure against expected performance Peak load should allow for a 20-30% increase in metric Set thresholds on the output to avoid digging through data
Load, Stress, and Performance Testing
Manual Test Tracked like other tests when executing test groups Presented to the tester to enter and confirm results Defined as text file or Word document
Generic Test Wrap existing code and have that code executed as part of the testing process Centralized results of all tests
Ordered Test Test to group (and order) other tests Results of ordered tests either succeed or fail as a group Used for scenario and module-level testing Add any test except a load test to an ordered test
Manual Test
Test Case Management Organize tests into lists Run tests Filter and group the display of the tests Import additional tests Export tests Organize and manage test cases
The Test Lab Clients Tester machine Used to create and edit tests / view results Servers Deployed test environment (web servers, load balancer, database server, etc.) Agents Computers running tests (multiple-threads, each a user) Listen for commands from controller Execute tests and pass results back to controller Controller Central computer that administers agents and collects results Distributes load by applying weights to agents
The Test Lab Database Run against a test version of the database Test data should be same nature and size as production Test a steady state of the database Automate the initialization of the database Extract data using rules to obfuscate personal information Visual Studio Database Developer
Test Lab Database Initialization

More Related Content

PPSX
Software automation
PPTX
Introduction to Automation Testing
PDF
Software Testing Tools | Edureka
PPTX
Python: Object-Oriented Testing (Unit Testing)
PPTX
Software Teting
PPTX
Integration in component based technology
PPTX
Unit 1 part 2
PPTX
Manual testing
Software automation
Introduction to Automation Testing
Software Testing Tools | Edureka
Python: Object-Oriented Testing (Unit Testing)
Software Teting
Integration in component based technology
Unit 1 part 2
Manual testing

What's hot (16)

PPT
Testing strategies
PPTX
Software Testing Strategies
PPT
Testing of Object-Oriented Software
PPTX
Automation Testing
PPT
Automated Testing vs Manual Testing
PPTX
Research issues in object oriented software testing
PPTX
Testing in multiplatform environment
PDF
Test Automation
PPTX
Software Testing Strategies
PPTX
Object Oriented Analysis
PPTX
Automation testing
PPTX
Test Automation - Everything You Need To Know
PPTX
Types of test tools
PPTX
ISTQB - What's testing
PPTX
Software testing
PPT
Test case design
Testing strategies
Software Testing Strategies
Testing of Object-Oriented Software
Automation Testing
Automated Testing vs Manual Testing
Research issues in object oriented software testing
Testing in multiplatform environment
Test Automation
Software Testing Strategies
Object Oriented Analysis
Automation testing
Test Automation - Everything You Need To Know
Types of test tools
ISTQB - What's testing
Software testing
Test case design
Ad

Similar to Paper CS (20)

PPT
Justin Presentation PPT Upload
PPT
Jjustin presentation upload PPT
PDF
Test and Behaviour Driven Development (TDD/BDD)
PPT
Automated testing overview
PPTX
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
PDF
03 test specification and execution
PPTX
Quality Coding with Visual Studio 2012
PPTX
Streamlining Testing with Visual Studio 2012
PPT
Test Automation Framework Designs
PDF
Introduction to Automated Testing
PDF
Introduction to-automated-testing
PPTX
Quality Coding: What's New with Visual Studio 2012
PPTX
Quality Coding: What’s New with Visual Studio 2012
PPSX
Introduction to software testing
PPT
Automated+Testing+Vs+Manual+Testing
PPT
Automated Testing vs Manual Testing
PPTX
TeDevelopment Testing in Software Engineering
PDF
Agile Testing Pasadena JUG Aug2009
PDF
Software Quality and Test Strategies for Ruby and Rails Applications
PPTX
Unit Testing and TDD 2017
Justin Presentation PPT Upload
Jjustin presentation upload PPT
Test and Behaviour Driven Development (TDD/BDD)
Automated testing overview
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
03 test specification and execution
Quality Coding with Visual Studio 2012
Streamlining Testing with Visual Studio 2012
Test Automation Framework Designs
Introduction to Automated Testing
Introduction to-automated-testing
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
Introduction to software testing
Automated+Testing+Vs+Manual+Testing
Automated Testing vs Manual Testing
TeDevelopment Testing in Software Engineering
Agile Testing Pasadena JUG Aug2009
Software Quality and Test Strategies for Ruby and Rails Applications
Unit Testing and TDD 2017
Ad

More from techweb08 (20)

PPT
Sample Presentation Asset
PPT
testwp2
PPT
testwp1
PPT
Presentation for test
PPT
NG Test - Presentation
PPT
NG_TEST_SR_Presentation
PPT
NG_TEST_Presentation_0510
PPT
NG_TEST_PRESENTATION
PPT
NGTEST - presentation title - 041219
PPT
ngtest-presen-0419
PPT
ngtest_presentation_0418
PPT
test_wp-4
PPT
test_wp-4
PPT
test_wp-4
PPT
test_wp-4
PPT
NGTEST_Presentation
PPT
Next Gen - case study
PPT
Next Gen Testing Asset
PPT
Reducing network complexity and boosting performance with IRF technology
PPT
Test DB user
Sample Presentation Asset
testwp2
testwp1
Presentation for test
NG Test - Presentation
NG_TEST_SR_Presentation
NG_TEST_Presentation_0510
NG_TEST_PRESENTATION
NGTEST - presentation title - 041219
ngtest-presen-0419
ngtest_presentation_0418
test_wp-4
test_wp-4
test_wp-4
test_wp-4
NGTEST_Presentation
Next Gen - case study
Next Gen Testing Asset
Reducing network complexity and boosting performance with IRF technology
Test DB user

Recently uploaded (20)

PDF
Unit 1 Cost Accounting - Cost sheet
PDF
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
PDF
MSPs in 10 Words - Created by US MSP Network
PPTX
HR Introduction Slide (1).pptx on hr intro
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
PPTX
Business Ethics - An introduction and its overview.pptx
PPT
Chapter four Project-Preparation material
PDF
Deliverable file - Regulatory guideline analysis.pdf
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
How to Get Funding for Your Trucking Business
PDF
Business model innovation report 2022.pdf
PPTX
5 Stages of group development guide.pptx
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
DOCX
Euro SEO Services 1st 3 General Updates.docx
PPTX
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
PDF
Training And Development of Employee .pdf
PDF
Roadmap Map-digital Banking feature MB,IB,AB
Unit 1 Cost Accounting - Cost sheet
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
MSPs in 10 Words - Created by US MSP Network
HR Introduction Slide (1).pptx on hr intro
Power and position in leadershipDOC-20250808-WA0011..pdf
unit 1 COST ACCOUNTING AND COST SHEET
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Business Ethics - An introduction and its overview.pptx
Chapter four Project-Preparation material
Deliverable file - Regulatory guideline analysis.pdf
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
How to Get Funding for Your Trucking Business
Business model innovation report 2022.pdf
5 Stages of group development guide.pptx
Belch_12e_PPT_Ch18_Accessible_university.pptx
ICG2025_ICG 6th steering committee 30-8-24.pptx
Euro SEO Services 1st 3 General Updates.docx
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
Training And Development of Employee .pdf
Roadmap Map-digital Banking feature MB,IB,AB

Paper CS

  • 1. Automated Testing with Team Test Unit, Web, Performance, Load, Manual, and Ordered Tests Code Coverage and Code Analysis
  • 2. Quality Challenges “ Software bugs, or errors, are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 percent of the gross domestic product…an estimated $22.2 billion, could be eliminated by an improved testing infrastructure that enables earlier and more effective identification and removal of software defects.” (Source: NIST 2002) Satisfying users Business interruption risks Ongoing maintenance costs rising Less avail. resources
  • 3. How Does VSTS/TFS Help? Increased Communication and Integration… Code Analysis Tools Code Profiling Tools Unit Testing and Code Coverage Load Testing Other Testing Tools Test Case Management
  • 4. Unit Testing Each unit is tested independently A large percentage of defects are identified during unit testing Automatic and repeatable code testing Simplifies integration Self documenting Auto-generate Isolate small portion of code & determine whether it works correctly
  • 5. Benefits of Automated Unit Testing Repeatable unit that verifies code still works Confirm code is tested Build a set of regression tests Make changes with confidence Aid in understanding code Limits: integration, web and Windows UI testing, load, performance testing
  • 6. Unit Test Types Class (standard) Test the properties and methods of a class Data-driven Bind unit test parameters to a datasource ASP.NET Test classes (or business logic) inside an ASP.NET application Run in the context of the web server (ASP objects available) Web Services Define a web reference to the service
  • 7. Extensions of Unit Testing Regression Testing Modifications are validated with regression tests Write new code and verify system continues to function correctly Integration Testing Helps validate how tested components interact with one another Can identify problems that occur when units are combined Scenario Testing Combine sequence of unit tests to cover a scenario
  • 8. Writing Effective Unit Tests Atomic Should not require others tests to be run first Cover all cases One test for each sceneario Cover all conditions, exceptions, nulls, etc. Able to re-run without configuration Database create/read/update/delete without having to modify the database before or after the test is run Test a common application state Unit tests should be …
  • 9. Unit Test Conditions Success baseline Common, successful, most-likely call to your code Parameter mix Pass a varied set of parameters Data-driven Bounds checking Stress the upper and lower limits of your parameters Null values Determine outcome of passing nulls to parameters Error conditions Trigger error conditions and validate expected outcomes Code coverage scenarios Test all conditions in your code
  • 10. Creating Unit Tests (1 of 2) Attributes are used to denote which methods and classes should be loaded for tests TestClass – denotes a class for testing TestMethod – denotes a method for testing must return void (Sub for VB.NET) and have no parameters Certain attributes are associated with initialization TestInitialize – run before each test TestCleanup – run after each test ClassInitialize – run once before running any tests in the class ClassCleanup – run once after running all tests in the class Assert – static type used for asserting test values ExpectedException – attribute used for determining the exception that should be thrown from the test
  • 11. Creating Unit Tests (2 of 2) Methods on the Assert type AreSame / AreNotSame AreEqual / AreNotEqual IsNull / IsNotNull IsInstanceOfType / IsNotInstanceOfType IsTrue / IsFalse Other Assert types CollectionAssert – collection equivalency StringAssert – string comparison/regex matching Web test types HtmlDocument – grants access to tags in the html document Validate*/Extract* - types used for reading field values from the request and response
  • 13. Code Coverage Improves effectiveness of tests Show a measurable indication of code that was covered by unit tests Strive for 75% and higher Shows the ratio of executed logic to the total logic Can be used in conjunction with unit and load testing Helps to find unused code Determine code that is exercised by tests
  • 15. Static Code Analysis Provides a means to enforce coding standards Configurable Reduction in code reviews for small issues Provides guidance on how to fix Define a check-in policy to enforce code analysis pass Coverage includes issues with design, globalization, interoperability, maintainability, naming, performance, reliability, security, and usage Warning: developers can supress messages with attirbute [SuppressMessage("AdventureWorks.Rules", "AW14441")] MORE INFO see, “Writing Quality Code” in TFS documentation
  • 17. Web Testing Record page navigation and user interactions with web pages Run tests back to determine errors Seed tests from a database Run tests from a group of users Validation rules Extractions
  • 19. Load Testing Load Testing: ensure application works under expected, concurrent user load Create test cases that simulate real user conditions Distribute tests across cases based on user behavior Assume standard think times Distribute across connection types Simulate an application performance in a production environment Provide repository to look at a performance trend over time, to see if changes are helping or hurting Simulate multiple users against an application simultaneously
  • 20. Stress Testing Stress Testing: determine breaking points in your application Find scalability issues before the application is deployed Step (increase) user load over time, monitor Find breaking point and use to monitor application Change software Add hardware
  • 21. Performance Testing Test at single user Test at normal load Test at peak load (1.5x normal load) Measure against expected performance Peak load should allow for a 20-30% increase in metric Set thresholds on the output to avoid digging through data
  • 22. Load, Stress, and Performance Testing
  • 23. Manual Test Tracked like other tests when executing test groups Presented to the tester to enter and confirm results Defined as text file or Word document
  • 24. Generic Test Wrap existing code and have that code executed as part of the testing process Centralized results of all tests
  • 25. Ordered Test Test to group (and order) other tests Results of ordered tests either succeed or fail as a group Used for scenario and module-level testing Add any test except a load test to an ordered test
  • 27. Test Case Management Organize tests into lists Run tests Filter and group the display of the tests Import additional tests Export tests Organize and manage test cases
  • 28. The Test Lab Clients Tester machine Used to create and edit tests / view results Servers Deployed test environment (web servers, load balancer, database server, etc.) Agents Computers running tests (multiple-threads, each a user) Listen for commands from controller Execute tests and pass results back to controller Controller Central computer that administers agents and collects results Distributes load by applying weights to agents
  • 29. The Test Lab Database Run against a test version of the database Test data should be same nature and size as production Test a steady state of the database Automate the initialization of the database Extract data using rules to obfuscate personal information Visual Studio Database Developer
  • 30. Test Lab Database Initialization