Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lesson 2 Understanding Software Bugs

Similar presentations


Presentation on theme: "Lesson 2 Understanding Software Bugs"— Presentation transcript:

1 Lesson 2 Understanding Software Bugs

2 Understanding Software Bugs
The objectives for this lesson are as follows: Explain what is a bug Explain where bugs come from Explain Unit testing Explain Usability testing Explain Alpha & Beta testing

3 Understanding Software Bugs
History of a Software Bug The "first actual case of bug being found" was during the development of Harvard University’s Mark II calculator. There was something unusual found inside, computer scientist and U.S. Navy Rear Admiral Grace Hopperit discovered it was a moth and the term bug and debug was coined. At the time computers were very large so insects would find their way in and disrupt the electronics. The first ‘bugs’ were literal insects somewhere in the machine, and debugging was removing those insects. To read the full story visit the link below

4 Understanding Software Bugs
What is a Software Bug? A software bug is an error or failure in a computer program that causes it to produce incorrect or unexpected results or just stop functioning. Most bugs are caused during the development process in either the design or during the implementation phase while writing the source code. Bugs can cause an indirect effect or cause the program to freeze or crash. Serious issues can be caused by bugs even death in cases where software is controlling systems around people.

5 Understanding Software Bugs
Notorious Software Bugs Throughout the years there have been serious failures causing billions of dollars and the lives of people because of a software malfunction due to a bug in the software. Lets take a look at this notorious software bug story. Epic Failures: 11 infamous software bugs by Matt Lake

6 Understanding Software Bugs
Software Testing Now that you see the severity that poor planning causes, lets look at how developers avoid such disasters with software testing. Lets recap the testing phase from lesson 1. A series of testing follows implementation to ensure all requirements and specifications have been met and the product solves the need or problem established in the planning phase. Software Testing Considerations The initial stage of testing begins with running components of the software with the intent of finding a software bug. While running these components testers assess properties of concern such as: Does the software meet the specifications outlined in the planning and design phase? Does the software behave accurately to different kinds of input? Is the software user-friendly? Is there any issues with the installation process? Does the software achieve the intended result outlined by the shareholders?

7 Understanding Software Bugs
Types of Software Testing There are a number of tests performed by testers to target specific outcomes. The results is used to collect data about the quality of the software including risks or possible failures. Unit Testing Unit testing is the process of testing small units of the source code in various cases. It requires setting up specific requirements for what values are acceptable at certain points in the code using what are called ‘assertions’. The ‘assert’ keyword is used in various programming languages to test assertions. They are like if statements that are only used for testing. Usability Testing Usability testing involves assessing the software’s user interface and design based on the experience of the users. This method of testing gets direct input on the experience of real users. You let some potential users use your software and see if they have difficulty navigating the user interfacing or figuring out the workflow of the software.

8 Understanding Software Bugs
α β Alpha Testing Alpha testing involves a series of tests administered internally, as in where the developers are located. It involves testing in close proximity to the developers to facility quick fixes before beta testing. Alpha testing usually last longer than Beta testing because initially there are more bugs to be found. Beta Testing Beta testing involves releasing the completed product known as a beta version to users outside of the development team (potential customers) to gather further usage data and find potential bugs.

9 Understanding Software Bugs
The objectives for this lesson are as follows: Explain what is a bug Explain where bugs come from Explain Unit testing Explain Usability testing Explain Alpha & Beta testing

10 Sources “Moth in the machine: Debugging the Origins of Bugs” Computer World, “Epic failures: 11 infamous software bugs” Matt Lake, Computer World, development/moth-in-the-machine--debugging-the- origins-of--bug-.html “Software Testing” Wikipedia, “Unit testing” Wikipedia, “Alpha Testing” Wikipedia, ng “Beta testing” Wikipedia, g


Download ppt "Lesson 2 Understanding Software Bugs"

Similar presentations


Ads by Google