cs paper 2 Flashcards
ways of exposing faults in a program
test plans, test data
type of test data
normal, invalid/abnormal, boundary/extreme
what is extreme/boundary data
the data is at the limits of validity, values just inside the range should be accepted. values outside should be rejected
def of syntax errors
these occur when the programmer haas not followed the rules of the language
def of logic errors
errors that cause the program to work incorrectly, like returning the wrong valueeeeeeeeee
run time errors
occur when the program is run
what is white box testing
where the person who wrote the code looks in detail to the code that was written
black box testing
the tests will check that the system does what it is supposed to do, without checking how it has been coded.
not done by the programmer
alpha testing
Alpha testing is the final testing that is carried out by the development team using documented test plans
beta testing
where real users use a product in a production environment to uncover any bugs or issues before a general release
acceptance testing
Acceptance testing is the final testing with the intended user(s). It often involves ‘scenarios’ to ensure it meet the required specifications
software development lifecycle- analysis
focusses on understanding and defining the user requirements. It is usually carried out by a systems analyst
software development lifecycle- design
focuses on specific skills and expertise from user interface designers, database designers, and security experts
software development lifecycle- testing
Testing is usually carried out throughout the development process. An overall strategy or approach to testing should be agreed.
software development lifecycle- evaluation
can be carried out throughout a development project to inform later stages. However, there is usually a formal evaluation when the project is complete
software development lifecycle- maintenance
the software is monitored to ensure it continues to function as it was designed to, and repairs or upgrades are performed as needed
rapid application development
is an approach to software development based around prototyping. It puts less emphasis on planning and more emphasis on an adaptive process.
the waterfall lifecycle
the early days of systems development, the stages of a project were carried out sequentially. This meant that the entirety of each stage had to be completed and signed off before the next stage could begin
adaptive maintenance
To accommodate a change in the requirement / technology /
legislation
e.g. a new HTML version is available
corrective maintenance
Reason: The program does not operate as expected / contains a bug
e.g. passwords are not hidden