Software Testing Lecture Notes by Dr. Manar Elkady, Summaries of Software Engineering

A set of lecture notes for a software testing course taught by Dr. Manar Elkady. The notes cover the course organization, software testing fundamentals, testing techniques, various types of testing, and the importance of software testing. The document also includes information about the evaluation methodology, required textbooks, and additional resources.

Typology: Summaries

2021/2022

Uploaded on 06/05/2022

khalid-shawky
khalid-shawky 🇪🇬

12 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Testing
Lecture 1
Dr. Manar Elkady
m.elkady@fci-cu.edu.eg
These material are retrieved from previous courses
offering by Dr. Soha Makady and Prof. Amr Kamel
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download Software Testing Lecture Notes by Dr. Manar Elkady and more Summaries Software Engineering in PDF only on Docsity!

Software Testing

Lecture 1

Dr. Manar Elkady [email protected] These material are retrieved from previous courses offering by Dr. Soha Makady and Prof. Amr Kamel

Course Organization

(Tentative) Course Structure

  • Part 1: Introduction
    • Introduction to Software Testing
    • Defects lifecycle and defect tracking
    • Black box testing techniques
    • White box testing techniques
    • Test adequacy assessment

Course Structure (Cont’d)

• Are we going to study testing/QA tools?

  • Yes, yet within the context of the course
  • The main focus is to learn the science behind testing and QA, not to study tools
  • Tools provide their own tutorials!

Blackboard Access Code

  • Enroll access code: 212202.FCI.SCS
  • Course ID: 276305

Evaluation (Cont’d)

• Cheating Policy

  • There will be ZERO tolerance for any sort of

cheating.

  • COPYING your code from online resources

IS CHEATING

  • Discussing the details of your solution with

your colleague is CHEATING

  • In case of cheating, a faculty-based

regulation will be taken.

Course Goals

• By the end of this course, you will have

learnt:

  • Fundamental concepts and terminologies

related to software testing.

  • Software test planning and the defect life

cycle.

  • Basic software test design techniques.
  • Various types of software testing, and how

they related to the studied test design

techniques.

SOFTWARE TESTING “Program testing can show the presence of bugs, but never their absence” (Edsger Dijkstra, 1930- 2002 )

Software Testing vs. Quality Assurance

  • The goal of a software tester is to find bugs,

find them as early as possible, and make sure

they get fixed.

  • A software quality assurance person's main

responsibility is to create and enforce

standards and methods to improve the

development process and to prevent bugs

from ever occurring.

Is Software Testing Trivial?

  • The program reads three integer values from an

input dialog, representing the sides of a triangle.

  • The program should state if the triangle is

scalene, isosceles, or equilateral.

  • Each team should mention:
    • How many cases (tests) did they come up with (i.e., write down your total number of cases).
    • A case (with numerical data) that they covered … till we consolidate the answers.

Is Software Testing Trivial?

  • How do you evaluate this kind of program?
    • Trivial
    • Moderate
    • Complex
  • How about we consider another example?

Is Software Testing Trivial?

  • Consider a software system with 30 variables. Each variable has two possible values.
  • We need to test all possible combinations.
  • How much time would it take to test all combinations, if takes one second to execute 5 tests (in an automated manner)? - 6.8 years of testing!
  • How do you evaluate this kind of program?
    • Trivial, moderate, or complex
  • How about testing 100,000-statement air traffic control system?

Is Software Testing Trivial?

  • Consider a calculator program
  • The number of inputs is very large.
  • The number of outputs is very large.
  • The number of paths through the software is very large.
  • When shall we stop?
  • Test-to-pass or Test-to-fail?