WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.

Slides:



Advertisements
Similar presentations
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Advertisements

WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Ossi Taipale, Lappeenranta University of Technology
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.

Software Testing and Quality Assurance
Outline Types of errors Component Testing Testing Strategy
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Course Overview & Topics CSc 335: Object-Oriented Programming and Design © Rick Mercer 1.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
DEV322 Unit Testing Best Practices With Visual Studio 2005 Team System Mark Seemann Senior Consultant Microsoft Consulting Services.
1-1 C Sc 335 Course Overview Object-Oriented Programming and Design Rick Mercer.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Module Recap Visited bullet format Highlighted bullet format
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
(Complex) Problem domain Requirements Specification
45 min WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint.
WARNING 40 min These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
WARNING 20 min These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint.
Presentation transcript:

WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.here These slides contain a lot of animations. For optimal results, watch in slideshow mode.

How long will they take to catch all fish? a)Less than 1 hour b)Around 1 hour c)About 100 hours d)Forever [Extra] 100 fish If 100 people trying to catch 100 piranha fish. On average, one person can catch one fish within 1 hour

How long will they take to catch all fish? a)Less than 1 hour b)Around 1 hour c)About 100 hours d)Forever [Extra] 100 fish If 100 people trying to catch 100 piranha fish. On average, one person can catch one fish within 1 hour

How long will they take to catch all fish? a)Less than 1 hour b)Around 1 hour c)About 100 hours d)Forever [Extra] 100 fish If 100 people trying to catch 100 piranha fish. On average, one person can catch one fish within 1 hour

System testing SUT

System testing SUT

System testing SUT

Do you want maximum publicity for your mistakes? [Extra] who wants maximum publicity

Do you want maximum publicity for your mistakes?

Never too early to test: An Introduction to Early Developer Testing

UI MSLogic Storage History UI MSLogic Storage History

UI MSLogic Storage History UI MSLogic Storage History

UI MSLogic Storage History SUT Unit testing

UI MSLogic Storage History SUT Unit testing

UI MSLogic Storage History SUT Stub Test Driver Unit testing

UI MSLogic Storage History SUT== MSLogic Stub String retrieveFromDatabase (int key){ if(key==1) return “Item for key 1”; if(key==2) return “Item for key 2”; … Unit testing

UI MSLogic Storage History SUT== MSLogic Stub Test Driver String item = msLogic.getItem(1); if(!item.equals(“Item1”) print(“Case 1 failed”); … Unit testing

UI MSLogic Storage History SUT== MSLogic Stub Test Driver String item = msLogic.getItem(1); if(!item.equals(“Item1”) print(“Case 1 failed”); … Unit testing

String item = msLogic.getItem(1); if(!item.equals(“Item1”) print(“Case 1 failed”); … assertEquals(msLogic.getItem(1), “Item1”); JUnit (Java) Visual Studio Native Tests (C++)

UI MSLogic Storage History

UI MSLogic Storage History

UI MSLogic Storage History

UI MSLogic Storage History

UI MSLogic Storage History

UI MSLogic Storage History

SUT

Write a failing test Write code to pass test

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java Clementi, Eunos, 20 Eunos, Novena, 40 Clementi  true Novena  true Eunos  true Changi  false Write the java/c++/pseudo code for the above

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java

CityConnect.java CityConnectTest.java Note: more test cases required. Refactor as necessary.

Write a failing test Write code to pass test

[extra] Mozilla patch policy 53

[Extra] who wants maximum publicity Do you want maximum publicity for your mistakes? When the system test fails...

Must have automated developer tests!

Only system testing? NO It can save your reputation. Use automated test driver frameworks Can do in TDD fashion Must do developer testing

Should do this too Everyone should do some Use these Try in CE2, Optional in project

Framework Platform Specify requirements… Textual descriptions Feature list User stories Use cases OO domain models Object diagrams State machine diagrams Activity diagrams UI prototypes Glossary Supplementary requirements … Combat complexity… Use abstraction, build models System Detailed design BAC D Possible Improvements: Apply OO principles Apply analysis patterns Categorize and prioritize requirements Possible Improvements: ↑Cohesion, ↓Coupling Apply design patterns (Abstraction Occurrence, Singleton, Command, Observer) Apply design principles (Open/close, Law of Demeter, Separation of concerns, …) Use polymorphism (inheritance, interfaces, dynamic binding) Good product design guidelines (e.g., usability, …) Possible Improvements: Refactor code Coding standards and good coding practices Protect code using assertions, exceptions, logging, and defensive coding. Build automation Possible Improvements: Automate testing Use Test-Driven Development Increase efficiency and effectiveness of testing (Equivalence partitioning, Boundary Value analysis) Increase test coverage (function/entry/exit/statement/branch/ condition/path coverage) isolate SUT using drivers, stubs and dependency injection Unit testing Integration testing System testing Acceptance testing Alpha/beta testing Developer testing Made up as you go → Exploratory testing Predetermined → Scripted testing Can be created in these ways: o Black-box, Glass-box, Grey-box = Validation & Verification Testing Other V&V techniques: formal verification static analyzers code reviews … Unified process Agile processes B API (Application Programming interface) Architecture styles such as n- tier, client-server, peer-to-peer, broker, pipes-and-filters, service-oriented, transaction- processing, and MVC Top-down design Bottom-up design Integration Can be late-one- time, or early- and-continuous Can be top- down, bottom- up, sandwich, big-bang y x z yx z operations Class diagrams Sequential Iterative Breadth- first Depth- first Work-breakdown structures Project plans Team structures C A B D BA D Sequence diagrams Architecture After modifications… Regression testing Includes buffers and milestones Chief-programmer Egoless Strict hierarchy XP (Complex) Problem domain Establish requirements… brainstorming Focus groups User surveys Product surveys Observations Interviews Prototyping More agile -> less upfront detailed design ANALYSIS DESIGNIMPLEMENTATIONQUALITY ASSURANCE PROJECT MANAGEMENT Library QA User Issue trackers Detailed design Test cases Scrum CMMI RCS We use OO to ‘align the view’. We use UML as the standard notation. Stakeholders Requirements Specification System Specification IDEs, Debugging