Software Quality and Testing Software Testing Types Pragya Garg (ME SS)
FUNCTIONAL TESTING TYPESFUNCTIONAL TESTING TYPES Objectives and MethodsObjectives and Methods
• Testing the functionality according to the specified requirements • Earlier functional testing can display the sofware maturity level and enable early bug fixing activities • Functional testing can be done in any software testing level Functional Testing
Version 2 of the Application
• Ensuring functional quality for a set of services by eliminating error or failure • Testing Web Services Description Language (WSDL) interfaces – WSDL/SOAP-based messaging • Verifying compliance with Web Service standards (SOAP, HTTP(S), JSON, JMS, WS-Security, UDDI, etc.) • Security perspective – Message security validation – Penetration test Web Services Testing
Web Services Testing Example
• Conduct testing for software version changes – Validation of the preserved functionality for newer versions • Prepare data migration testing approach in order to copy of data from one system to another – Misspelled data – Duplicate data occurence – Null data presence – Missing data records etc Migration Testing
• Software maintenance is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. (IEEE 1219) • The software product undergoes modification to code and associated documentation due to a problem or the need for improvement. The objective is to modify the existing software product while preserving its integrity. ISO/IEC [ISO95] Maintenance Testing
NON – FUNCTIONAL TESTING TYPESNON – FUNCTIONAL TESTING TYPES Objectives and MethodsObjectives and Methods
• Performance Testing • Load Testing • Stress Testing • Compatibility Testing • Security Testing • Usability Testing Various Types Non-Functional Testing
• Ensure the system achieving the specified performance levels. • Identify bottlenecks in the given network • Investigate speed characteristics of system under test • Determine how fast a given system performs under load • Reduce overall costs by finding bugs at earlier stages • Analyze average server measurements • Demonstrate if network meets the performance criteria Performance Testing
• Decide measurement types for the real system • Classify metrics by identifying related application components • Identifying priorities on speed measurement • Resource utilization requirements different platforms • Identify concurrent usage definitions for each channel • Latency, jitter, throughput, packet loss Performance Metrics
Sample Performance Test Run Result
• Simulate actions of real users • Create mix scenarios for various workloads • Realistic workload on system interfaces • Identify system responses for a period of time (Response time, Hits per second, throughput, resource utilization etc.) • Determine end-to-end capacity • Expose unexpected behaviour between subsystems • Validate specification limits Load Testing
• Testing the system or entity as a perspective of excessive operational capacity • Determine acceptable system behaviour under heavy load • Detecting memory leaks, thread deadlocks, unresponsive software entities, data corruption, process anomalies, runtime errors, etc. • Develop corrective action models in order to mitigate the risks Stress Testing
Deadlock Example
Memory Exception Example
• Ensure the application's compatibility with the computing environment. • Testing the application by considering different environments • Generate a compatibility testing matrix according to technical requirements • Consider backward/forward compatibility – Code written for version 2.3 may not work on version 3.1 Compatibility Testing
• Operating System Microsoft Windows 98/Me/NT/2000/XP/Vista/Windows 7 Unix/Linux (Pardus, Debian, Ubuntu, Gentoo, FreeBSD, CentOS, OpenSUSE) Android, iPad, iPhone • Browser Compatibility Internet Explorer, Firefox, Google Chrome, Opera, Camino, Netscape, Safari, etc. • Database Oracle, MSSQL, MySQL, DB2, Sybase, Postgre SQL, etc. • Hardware Platform CPU, RAM, Hard Disk, Screen Resolution • Network Bandwidth, speed, capacity Compatibility Testing Matrix Items
Compatibility Testing Example
Compatibility Testing Example
• Adopt routine security procedures to be performed for each release/build • Probe vulnerabilities of the system by using security tools • Automatic test genaration to simulate specific network attacks Security Testing-1
Conduct security assessments: • Data Validation Errors (Client-side validation) • Cross Site Scripting • Buffer Overflows • Improper File Access • SQL, LDAP, XPATH, OS command injection • Sensitive data in unsecured pages Security Testing-2
SQL Exception Example
DB Configuration Error
• Evaluating product or service by considering the end-user point of view • A part of system unit may function correctly however, may not provide ease of use • Focus on the intended groups and increase overall user satisfaction Usability Testing
Usability on Different Login/Signup Pages
Which of these is a functional test? a) Measuring response time on an airline reservation system b) Checking the effect of high volumes of traffic in a CRM software c) Checking the on-line bookings screen information and the database contents against the customer bill information d) Checking how easy the system is to use Testing Types - Sample Question
Happy testing  Thank you...
∗ Software Quality and Testing Software Testing Types – TURKCELL ∗ IBM Demo for RATIONAL FUNCTIONAL TESTER TOOL ∗ http://www.guru99.com/functional-testing.html References

Software quality and testing (func. & non func.)

  • 1.
    Software Quality andTesting Software Testing Types Pragya Garg (ME SS)
  • 3.
    FUNCTIONAL TESTING TYPESFUNCTIONALTESTING TYPES Objectives and MethodsObjectives and Methods
  • 4.
    • Testing thefunctionality according to the specified requirements • Earlier functional testing can display the sofware maturity level and enable early bug fixing activities • Functional testing can be done in any software testing level Functional Testing
  • 12.
    Version 2 ofthe Application
  • 17.
    • Ensuring functionalquality for a set of services by eliminating error or failure • Testing Web Services Description Language (WSDL) interfaces – WSDL/SOAP-based messaging • Verifying compliance with Web Service standards (SOAP, HTTP(S), JSON, JMS, WS-Security, UDDI, etc.) • Security perspective – Message security validation – Penetration test Web Services Testing
  • 18.
  • 19.
    • Conduct testingfor software version changes – Validation of the preserved functionality for newer versions • Prepare data migration testing approach in order to copy of data from one system to another – Misspelled data – Duplicate data occurence – Null data presence – Missing data records etc Migration Testing
  • 20.
    • Software maintenanceis the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. (IEEE 1219) • The software product undergoes modification to code and associated documentation due to a problem or the need for improvement. The objective is to modify the existing software product while preserving its integrity. ISO/IEC [ISO95] Maintenance Testing
  • 21.
    NON – FUNCTIONALTESTING TYPESNON – FUNCTIONAL TESTING TYPES Objectives and MethodsObjectives and Methods
  • 22.
    • Performance Testing •Load Testing • Stress Testing • Compatibility Testing • Security Testing • Usability Testing Various Types Non-Functional Testing
  • 23.
    • Ensure thesystem achieving the specified performance levels. • Identify bottlenecks in the given network • Investigate speed characteristics of system under test • Determine how fast a given system performs under load • Reduce overall costs by finding bugs at earlier stages • Analyze average server measurements • Demonstrate if network meets the performance criteria Performance Testing
  • 24.
    • Decide measurementtypes for the real system • Classify metrics by identifying related application components • Identifying priorities on speed measurement • Resource utilization requirements different platforms • Identify concurrent usage definitions for each channel • Latency, jitter, throughput, packet loss Performance Metrics
  • 25.
  • 26.
    • Simulate actionsof real users • Create mix scenarios for various workloads • Realistic workload on system interfaces • Identify system responses for a period of time (Response time, Hits per second, throughput, resource utilization etc.) • Determine end-to-end capacity • Expose unexpected behaviour between subsystems • Validate specification limits Load Testing
  • 27.
    • Testing thesystem or entity as a perspective of excessive operational capacity • Determine acceptable system behaviour under heavy load • Detecting memory leaks, thread deadlocks, unresponsive software entities, data corruption, process anomalies, runtime errors, etc. • Develop corrective action models in order to mitigate the risks Stress Testing
  • 28.
  • 29.
  • 30.
    • Ensure theapplication's compatibility with the computing environment. • Testing the application by considering different environments • Generate a compatibility testing matrix according to technical requirements • Consider backward/forward compatibility – Code written for version 2.3 may not work on version 3.1 Compatibility Testing
  • 31.
    • Operating System MicrosoftWindows 98/Me/NT/2000/XP/Vista/Windows 7 Unix/Linux (Pardus, Debian, Ubuntu, Gentoo, FreeBSD, CentOS, OpenSUSE) Android, iPad, iPhone • Browser Compatibility Internet Explorer, Firefox, Google Chrome, Opera, Camino, Netscape, Safari, etc. • Database Oracle, MSSQL, MySQL, DB2, Sybase, Postgre SQL, etc. • Hardware Platform CPU, RAM, Hard Disk, Screen Resolution • Network Bandwidth, speed, capacity Compatibility Testing Matrix Items
  • 32.
  • 33.
  • 34.
    • Adopt routinesecurity procedures to be performed for each release/build • Probe vulnerabilities of the system by using security tools • Automatic test genaration to simulate specific network attacks Security Testing-1
  • 35.
    Conduct security assessments: •Data Validation Errors (Client-side validation) • Cross Site Scripting • Buffer Overflows • Improper File Access • SQL, LDAP, XPATH, OS command injection • Sensitive data in unsecured pages Security Testing-2
  • 36.
  • 37.
  • 38.
    • Evaluating productor service by considering the end-user point of view • A part of system unit may function correctly however, may not provide ease of use • Focus on the intended groups and increase overall user satisfaction Usability Testing
  • 39.
    Usability on DifferentLogin/Signup Pages
  • 40.
    Which of theseis a functional test? a) Measuring response time on an airline reservation system b) Checking the effect of high volumes of traffic in a CRM software c) Checking the on-line bookings screen information and the database contents against the customer bill information d) Checking how easy the system is to use Testing Types - Sample Question
  • 41.
  • 42.
    ∗ Software Qualityand Testing Software Testing Types – TURKCELL ∗ IBM Demo for RATIONAL FUNCTIONAL TESTER TOOL ∗ http://www.guru99.com/functional-testing.html References