GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Karteikarten

Ohne Titel

Claire Lemon software engineering Englisch 38 Karten

Karten in diesem Stapel (38)

  1. 1A weather-recording system records wind-speed data, rainfall data and barometric pressure, and sends summary data into a computer network. If the wind-speed data is represented as an integer between 0 and 110, the rainfall data is represented as a floating point number between 0.0 and 150.0 (significant to 1 decimal place) and barometric pressure is represented as an integer between 800 and 1200, what is the input data space?The input data space is the set of triples of values taken from the sets {0, 1, …, 110}, {0.0, 0.1, …, 150.0} and {800, 801, …, 1200}.
  2. 2What is software qualitySoftware that is fit for its purpose and of sufficiently high quality is said to be of appropriate quality. We shall use the term ‘quality’, in the context of software, to stand for ‘appropriate quality’. One way of characterising the notion of appropriate quality is to say that it is in conformance to the requirements and expectations of the customer.
  3. 3What is the purpose of assessing software quality?determining whether fit criteria are met
    deciding how well the concerns of stakeholder groups have been addressed
    measuring the response in quality attribute scenarios
    assessing the overall quality of a system
    comparing systems to see which has higher quality
    seeing whether changes have successfully improved quality.
  4. 4What are the 3 categories of quality requirements?product operation requirements: how the product will be used
    product revision requirements: how the product will be maintained
    product transition requirements: how the product will be modified for different operating environments.
  5. 5SQFs affected by product operation requirements include:correctness: how well a system fulfils the customer’s overall objectives – how well the software does what the customer wants
    reliability: the likelihood with which a system can be expected to perform its intended function – how well the software does what it is supposed to do
    efficiency: the level of computing resources (including time) required by a system to perform its function – how well it runs on the customer’s hardware
    integrity: the strength of measures to ensure that modification or deletion of data by unauthorised persons (or by any other unintended means) does not occur
    usability: the effort required to learn about, operate, prepare input for and interpret the output of a system – how easy the system is to use.
  6. 6SQFs affected by product revision requirements include:maintainability: the effort required to deal with expected changes and to understand, locate and fix errors in a system
    flexibility: the effort required to modify an operational system – how easily the system can be changed while in service
    testability: the effort required to test a system to ensure that it performs its intended function. Different kinds of testing may vary according to how easy they are to adapt when requirements are revised.
  7. 7SQFs affected by product transition requirements include:portability: the effort required to transfer the system from one hardware platform and/or software environment to another – how easily the system can be used on another machine should the customer change their platform or should other customers require it
    reusability: the extent to which a system (or system component) can be reused in other applications – how easy it is to reuse some of the software to make future developments more cost effective
    interoperability: the effort required to couple one system to another – how easy it is to interface the system with another, should the customer require i
  8. 8Explain how increasing integrity within a system could affect efficiency.Increasing integrity within a system means strengthening measures to ensure that modification or deletion of data by unauthorised persons, or by any other unintended means, does not occur. This might involve the use of passwords to access certain data and an authentication server to check a user’s identity, or it might mean that network traffic needs to be encrypted and decrypted. Each of these factors adds an overhead to processing, so efficiency is likely to be reduced.
  9. 9Identify one pair of SQFs that are not independent.Another pair of SQFs that are not independent is usability and portability. For example, many of the features of the Apple Macintosh that contribute to its reputation for usability are built into its operating system. Applications that take advantage of these features are less portable to other systems, such as Windows or Linux
  10. 10What are the Primary software quality factors?*Correctness. A popular measure for assessing correctness is defects per thousand lines of code (defects per KLOC), where a defect may be defined as a verified lack of conformance to requirements.
    *Integrity. This is measured by considering the proportion of ‘attacks’ on a product as opposed to bona fide uses.
    *Maintainability. Unfortunately there is no way to measure maintainability directly, and so we must measure it indirectly. A simple measure is mean time to change (MTTC)
    *Usability: any system with a user interface and that will be used by people other than the developers should be usability tested.
  11. 11validationThe process of checking that a software system is consistent with the customer’s requirements; that is, the developer is building the ‘right’ product.
  12. 12verificationA process of ensuring that the design of a system corresponds to its specification, and that the system is correctly coded according to its design; that is, all the different system descriptions are consistent and complete with respect to each other. If validation is about building the ‘right’ product, then verification is about the product being built ‘right’.
  13. 13Give an example of how code might be self-inconsistentFor example, a variable address1 might be declared in candidate source code as conforming to two incompatible types, as follows:
    Address address1;
    IPAddress address1;
  14. 14Why is it important for the customer’s requirements statement to be self consistent?If the customer’s requirement statement lacks self consistency, then either the resulting system will be inconsistent or it will not satisfy the customer’s requirements.
  15. 15analytical completenessA measure of completeness where only the functional requirements are considered. (Only those with fit criteria)
  16. 16completenesscompleteness
    The degree to which full implementation of the required functionality has been achieved.
  17. 17unit testingThe first stage of developmental testing in which units of functionality (for example, the classes in an object-oriented system) are tested in isolation.
  18. 18refactoringThe reorganisation of code structure for reasons such as clarity or maintainability, while making no change to the external behaviour.
  19. 19Benefits of test-driven development*Test coverage: Test coverage is in some respects comprehensive, with virtually all code having associated tests.
    *Regression testing and early discovery of errors:
    *Executable documentation:
    *Beneficial effect on design: TDD encourages clarity, modularity and a focus on interface over implementation.
    * Complementarity with DbC: TDD tests by test cases, whereas DbC tests by invariants.
    *Promotes good code quality:
    *Inhibition of ‘featuritis’:
  20. 20Limitations and pitfalls of test-driven development*User interface: TDD does not readily apply to user interface testing
    *Testing of applications integrated with databases:
    *Multithreaded systems: TDD is not generally suitable for the testing of multithreaded systems
    *Customer acceptance: TDD cannot take the place of customer testing
    *Legacy systems and systems reusing large code components:
    *Management support: If management chooses to penalise time spent on writing tests
    *Code whose requirements are liable to change greatly
    *Integration testing: TDD cannot take the place of integration testing
    *TDD is only as good as the tests devised
  21. 21Give two reasons why it is useful to run a unit test before the relevant code increment has been written?*If the test unexpectedly already passes at this point, this demonstrates that it is not a good test of the next increment.
    *If it fails in an unexpected way, this demonstrates a faulty or incomplete understanding of the test that needs to be addressed in order to have a good grip on the code and test.
  22. 22There are 4 distinct categories of testing what are they?*Requirements-based testing draws on previously gathered or formulated testable requirements to check that a system meets the customer’s requirements. The final stage in this form of testing is acceptance testing.
    *Usability testing refers to testing of the user interface.
    *Developmental testing is a term that refers to all of the testing carried out by the team developing the software. It is useful to distinguish between developmental testing at three different levels of scope – unit testing, integration or component testing and system testing.
    *Regression testing is any form of testing during development or system maintenance that systematically checks that fixing one bug has not introduced others.
  23. 23Which of unit, integration, system and acceptance testing are parts of validation and which are parts of verification?Unit and integration testing concentrate on whether parts of the system perform according to their specifications, answering the verification question (have we built the system correctly?). System and thus acceptance testing focus on showing that the customer’s requirements have been met, answering the validation question (have we built the right system?).
  24. 24what is the difference between Black-box and white-box testing*In black-box testing, test cases are designed by looking at the specification
    *In white-box testing, test cases are designed by looking at the detail of the implementation of the system to be tested.
  25. 25Name some Black-box testing techniques*A quintessential black-box technique is partitioning combined with boundary testing, which focuses on producing test data at the boundaries between partitions of the input data space.
    *Subdomains are obtained by the technique of case analysis, which determines, for each user-perceived function of the (sub)system, the subdomain that results in that function being performed. Boundary testing is based on the observation that common errors are often caused by a data item being just one out.
    *random testing
    *error guessing
  26. 26Basis-path testingA white box testing technique based on the cyclomatic-complexity metric which ensures that all statements in a method are tested at least once.
  27. 27What are the Problems with black-box testing* when used in isolation poor coverage results are achieved
    *if a tested method’s operation depends for its behaviour on the internal state of an object, this attribute is not visible through the interface to the method – and so will not be known of by a black-box tester.
    *this is tackled by using black box and white box testing in tandem
  28. 28What are the Problems with white-box testingWhite bow testing alone will not reveal customer requirements
    *this is tackled by using black box and white box testing in tandem
  29. 29Give an example where black-box testing will test something that white-box testing would miss.*operations required by the specification but not provided for by the implementation
    *errors between the interfaces of two classes
    *performance errors, in which system performance is found to be wanting
  30. 30Give an example where white-box testing will test something that black-box testing would miss.*the sequences of method calls in the body of a method that fail to perform the correct function
    *boolean conditions in if statements, while loops, etc. incorrectly expressed
    *loops that terminate incorrectly
  31. 31A weather-recording system records wind-speed data, rainfall data and barometric pressure, and sends summary data into a computer network. If the wind-speed data is represented as an integer between 0 and 110, the rainfall data is represented as a floating point number between 0.0 and 150.0 (significant to 1 decimal place) and barometric pressure is represented as an integer between 800 and 1200, what is the input data space?The input data space is the set of triples of values taken from the sets {0, 1, …, 110}, {0.0, 0.1, …, 150.0} and {800, 801, …, 1200}.
  32. 32why measure complexity?Measuring software complexity is also important in determining where to focus testing effort
  33. 33Lines-of-code metricA very simple measure of the complexity of a system description is given by counting the number of lines in a piece of code. nIt can also be a useful predictor of the number of errors and maintenance effort
  34. 34McCabe’s cyclomatic-complexity metricTo compute the metric,
    find the number of independent paths, taking into consideration the branches.
  35. 35Should the cyclomatic-complexity metric be used to measure the complexity of an object-oriented software system?Because the cyclomatic-complexity metric is based on decision points, which are present only in methods, it is ‘blind’ to the class-structuring mechanisms that are available in object-oriented system descriptions. As much of the complexity of an object-oriented system is held in the class structure, applying the cyclomatic-complexity metric to a whole system would not therefore be appropriate.
  36. 36How do you calculate the complexity of OO systemsIt is generally accepted that object-oriented systems require two levels of complexity metric: one to measure method complexity, the other to measure the complexity of the class structure. In fact, because one of the structuring mechanisms for object-oriented systems – inheritance – is so radically different from that of procedural languages, new complexity metrics have had to be developed.
    ie Depth-of-inheritance-tree (DIT) metric or Coupling-between-objects (CBO) metric
  37. 37What are the two main techniques for making test casesBlack-box and white-box testing.
    Black-box testing provides evidence that a software system meets its requirements, whereas white-box testing provides evidence that the detail of the implementation is correct. Both black-box and white-box testing have problems individually, especially in testing object-oriented systems. A balanced testing strategy will include aspects of them both.
  38. 38—

Informationen

Beschreibung
software engineering (11 - Product quality, verification, metrics, testing) Karteikarten am Ohne Titel, erstellt von Claire Lemon am 04/05/2017.
Erstellt von
Claire Lemon
Aufrufe
1
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck