1 / 25

Software Testing

Software Testing. Functional and Non-functional testing. Functional testing is done to check whether or not the requirements have been implemented. Non-functional testing is done to check whether or not non-functional requirements have been met, and reflects the quality of the product .

adeola
Télécharger la présentation

Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing

  2. Functional and Non-functional testing Functional testing is done to check whether or not the requirements have been implemented. Non-functional testing is done to check whether or not non-functional requirements have been met, and reflects the quality of the product.

  3. Functional Testing Examples • Smoke and Sanity Testing • Unit Testing • Integration Testing • Interface Testing • System Testing • Regression Testing

  4. Non-Functional Testing Examples • Installation Testing • Compatibility Testing • Performance Testing • Usability Testing • Security Testing • Localization and Internationalization Testing

  5. Destructive Testing Destructive testing is done to try to break the system or sub-systems of a software product, revealing vulnerabilities in the software that may need to be fixed or accounted for.

  6. Destructive Testing No Yes Input number: Three Enter a number between 0 and 100: -1

  7. Software Performance Testing • Performance Testing is done to see how fast a system performs under different workloads. Includes • Load Testing • Stress Testing • Capacity Testing

  8. Installation Testing • Quality Assurance • Customer focus • Installation process usability • User training requirements • Training typically only for custom software.

  9. Installation Testing • Hardware focus • Minimum hardware requirements • Results of failure to install on hardware • ie. What happens on installation crash?

  10. Installation Testing

  11. Compatibility Testing • Tests interoperability of software with: • Operating Systems • MAC, Windows, Linux, etc • Hardware • Complex software won’t run the same on a Pentium 4 processor as it will on an Intel i5. • Other software • Ex. Antivirus programs rarely run side by side. • Previous versions

  12. Compatibility Testing • Other compatibility issues • Network Bandwidth • Network speed can be a bottleneck if the software has to communicate with other systems. • I/O • Printer • Keyboard • What will added button functionality do? • Browser (web app) • http://www.youtube.com/watch?v=gPN62ywK1ww

  13. Sanity Testing • Quick, informal test to verify the direction of development • Pros • Speed • Easy to find large deviations from development path • Cons • Won’t find all problems • Won’t find any small problems

  14. Sanity Testing • Usually used to decide if further testing is needed before reformulating the software. • Used with a smoke test • Typically tests limited to simple input and output. • Example: Verify that when a file is saved the file is actually changed. Often trivial mistakes overlooked with other tests can be found with sanity testing.

  15. Smoke Testing • Initial Testing used with Sanity Testing • Performed after changes made • Preliminary test before further testing and release • Check for “smoke through the cracks,” or functionality of key features after a “fix.” • Cost and time effective

  16. Usability Testing Testing to see how user friendly the software is Asks users what they liked and disliked about the software

  17. Accessibility Testing A formal type of testing to check if the software can be used by people with disabilities.

  18. Security Testing This type of testing checks how secure the software is to many types of cyber-attacks. It can test the authentication process a software uses to determine how secure the program is.

  19. Internationalization and localization • Purposes • Verify the system supports internationalization • Verify that localizing the system does not break it • Automatic testing using pseudolocalization • Manual testing of translation to human languages

  20. Psuedolocalization • Account Settings => [!!! ÀççôûñţŠéţţîñĝš!!!] • This makes the strings readable, but includes problematic characteristics • Length, language direction, unusual characters

  21. Problems to find Out of context translations Dynamically generated strings Non-Localized images

  22. Development testing Reducing the risks, time, and costs of software development with synchronized application of defect prevention and detection strategies. Prevent as many defects as possible Expose defects immediately after introduction

  23. Development testing activities Unit testing Peer code review Traceability

  24. A/B testing • Commonly used with online traffic and advertising • Compares two variants with the goal of maximizing an “outcome of interest” • Click-rate, purchase-rate, etc

  25. Citations http://en.wikipedia.org/wiki/Software_testinghttp://en.wikipedia.org/wiki/Development_Testinghttp://en.wikipedia.org/wiki/A/B_testing http://msdn.microsoft.com/en-us/library/bb924357.aspx http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01652020 http://www.softwaretestingclass.com/functional-testing-vs-non-functional-testing/ http://www.softwaretestingsoftware.com/all-types-of-software-testing/

More Related