3.2.6 - Testing and Running a Solution

Description

A Level Computing (F452) Mind Map on 3.2.6 - Testing and Running a Solution, created by AndrewZV on 02/04/2014.
AndrewZV
Mind Map by AndrewZV, updated more than 1 year ago
AndrewZV
Created by AndrewZV over 10 years ago
38
1

Resource summary

3.2.6 - Testing and Running a Solution
  1. Errors
    1. Syntax
      1. Occurs when a statement has been written that breaks the rules of that programming language.
        1. Common Syntax Errors:
          1. Missing or extra punctuation.
            1. Not enough arguments.
              1. Missing part of a multi-line statement.
                1. Using unrecognised identifiers.
                  1. Type mismatch.
                2. Logical
                  1. Occurs because of a mistake in the algorithm that results in the program doing something other than what's expected to do.
                    1. Don't usually produce error messages.
                      1. Discovered because the computer is producing unexpected results.
                      2. Other common causes are:
                        1. Instructions in the wrong order.
                          1. Incorrect conditions for IF statements or Loops.
                        2. Run-time
                          1. Occurs due to an unexpected situation with the data being processed.
                            1. The program would otherwise work normally.
                              1. Generally occur when the computer attempts impossible arithmetic operations.
                              2. Other common causes are:
                                1. Overflow error
                                  1. Uses a variable to store a value to large for it.
                                  2. Stack overflow error
                                    1. Program runs out of stack space to store operations.
                                    2. Library error
                                      1. Referring to an external library that does not exist.
                                    3. Exception Handling
                                      1. Handles errors that are unavoidable.
                                        1. Reading from a file that has been deleted.
                                          1. Dividing by zero.
                                    4. Types of Testing
                                      1. White Box
                                        1. Tests the algorithm to make sure it functions as intended.
                                          1. Focused on testing every path of execution through a program.
                                            1. Path of execution is noted, so it can be compared with other runs.
                                            2. Black Box
                                              1. Inputs and Outputs
                                                1. Not how the program works.
                                                  1. Test every possible input.
                                                    1. Are the results expected?
                                                  2. Three types of input data to consider:
                                                    1. Valid Data
                                                      1. Data you would expect to be input.
                                                      2. Invalid Data
                                                        1. Data which would generate an error message.
                                                        2. Borderline Data
                                                          1. Testing data at the boundaries between both cases.
                                                      3. Alpha and Beta
                                                        1. Carried out when the software is nearly complete.
                                                          1. Applies to commercial software being developed for external users.
                                                            1. Difference resides in the stages and the tester.
                                                              1. Alpha
                                                                1. Limited to be tested by internal employees and friends/family of the company.
                                                                  1. Very early version of the software.
                                                                    1. Normally full of bugs.
                                                                  2. Beta
                                                                    1. Opened up to a wider audience.
                                                                      1. Almost in a finished state.
                                                                        1. Normally test things such as load balancing.
                                                                  3. Acceptance
                                                                    1. Demonstrates to the end user that the software works correctly.
                                                                      1. All desired features have been implemented.
                                                                      2. Takes place after all development and testing is complete.
                                                                        1. The software is ready to be handed to the end user.
                                                                        2. Software is tested against all requirements.
                                                                          1. Until the user accepts the software is what is originally requested.
                                                                      3. Running Solutions
                                                                        1. Dry Runs
                                                                          1. Used to locate the cause and location of an error.
                                                                            1. You go through the code manually executing and recording each line of code.
                                                                            2. Use a trace table to keep track of all the variables.
                                                                            3. Debugging Tools
                                                                              1. Translator Diagnostics
                                                                                1. Messages generated by the translator, while it's translating the source code into object code.
                                                                                  1. Often includes warnings where there might be a logic error.
                                                                                  2. Break Points and Stepping
                                                                                    1. Breakpoints mark lines of code, requesting the program stops running when it gets to that line.
                                                                                    2. Variable Checks
                                                                                      1. Programmer can request variables to be checked at any time in the program.
                                                                                        1. This allows the programmer to compare the value to what it should be at that time.
                                                                                    3. Installation Routine
                                                                                      1. Installing the program.
                                                                                        1. The routine does the following:
                                                                                          1. 1. Checks if there is enough space.
                                                                                            1. 2. Program copied to destination folder.
                                                                                              1. Data files are copied with it.
                                                                                              2. 3. Library files are copied and registered.
                                                                                                1. 4. Executable file will create shortcut.
                                                                                                  1. 5. Allow user to configure and customise installation.
                                                                                                    1. 6. Configuration saved in system registry.
                                                                                                Show full summary Hide full summary

                                                                                                Similar

                                                                                                Types and Components of Computer Systems
                                                                                                Jess Peason
                                                                                                Input Devices
                                                                                                Jess Peason
                                                                                                Output Devices
                                                                                                Jess Peason
                                                                                                Computing
                                                                                                Kwame Oteng-Adusei
                                                                                                Pack of playing cards answer
                                                                                                Karl Taylor
                                                                                                Code Challenge Flow Chart
                                                                                                Charlotte Hilton
                                                                                                3.2.5 - Writing Maintainable Programs
                                                                                                AndrewZV
                                                                                                Computing Hardware - CPU and Memory
                                                                                                ollietablet123
                                                                                                Computer Systems
                                                                                                lisawinkler10
                                                                                                Computer science quiz
                                                                                                Ryan Barton
                                                                                                Input, output and storage devices
                                                                                                Mr A Esch