Software Development Flashcards
What are the different testing methods?
Black box, white box, alpha, beta and acceptance testing.
What is black box testing?
Tests designed to check the program functions as expected, will include tests for in and out of bounds inputs if applicable.
What is white box testing?
Tests designed to take each path through the program and check they function as expected.
What is alpha testing?
Testing done by the developers.
What is beta testing?
Testing carried out by potential users.
What is acceptance testing?
Tests to ensure the program meets the initial criteria.
Explain the waterfall life cycle model.
Each part of development is done in sequence, when it is required to go back a stage you must go through all the other stages again.
Explain the spiral model.
Similar to the waterfall model but each step is done less vigorously as you go back after cycle of analysis, design, implementation, evaluation.
What is agile development?
Where small quick to make changes to the product are made at each stage with lots of feedback from the client.
What is extreme programming?
A form of agile development where there are frequent releases of the software.
What is rapid action development (RAD)?
Software development where each section of the program has to be made within strict deadlines even if the resulting software isn’t as good.
Compare each of the development methods.
Waterfall is good for small projects where careful supervision is needed and has the drawback of a lack of user input, spiral and agile are better as they keep getting user feedback regularly, XP and RAD are good for large projects where it is possible for there be too many suggested improvements so that the required program is always changing.
What are the three main programming paradigms?
Procedural, object-oriented and functional declarative.
What is procedural programming?
Where functions and procedures are used to split the program up into different sections. An example of a procedural language is python.
What is object-oriented programming?
Where abstract objects like stacks or people are used so that code can easily be re-used and is much cleaner, OOP can be done in C#.