FINALS | Software Testing and Deployment | Application Development and Emerging Technologies"

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/71

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

72 Terms

1
New cards

Software testing

It is the activity of executing a system or component under specified conditions, observing or recording the results, and evaluating some of the aspects of the system or component.

2
New cards

Software testing

It is a software quality approach used for detecting defects in software and conforming that requirements are correctly implemented before deploying the software.

3
New cards

identify and reveal

Direct objectives: To ______ and _______ as many errors as possible in the tested software

4
New cards

Acceptable

Direct objectives: To bring the tested software to an __ level of quality after correcting the identified errors and retesting – This means that a certain percentage of bugs tolerable to users will remain unidentified upon installation of the software.

5
New cards

tests

Direct objectives: To perform the required ______ efficiently and effectively and within the budgetary and scheduling limitations

6
New cards

degree of confidence

Direct objectives: To establish with a _ __ _ that the software package is ready for delivery or installment at customer premises

7
New cards

software errors

Indirect objectives: To compile a record of _______ _______ for use in software process improvement by corrective and preventive actions and for decision-making

8
New cards

Unit Testing

This is performed by the developer on the completed unit or module of the software and before its integration with other modules. Unit tests are technical tests of the code, and these require writing test harnesses and creating test data.

9
New cards

Unit Testing

The developer writes these tests, and the objective is to determine if each unit of the software performs its expected output. The unit test case is generally documented, and it should include the test objective and the expected results.

10
New cards

Integration Testing

The project team performs this type of testing on the integrated systems once all of the individual units work correctly in isolation. The objective of this test is to verify that all of the modules and their interfaces work correctly together and to identify and resolve any issues.

11
New cards

Integration Testing

This test benefits from an existing enterprise architecture that provides information on all existing systems and their alignment with each other.

12
New cards

System Testing

This tests the functionality of an entire system together with interdependencies between system components. It may include security testing, usability testing, and performance testing.

13
New cards

System Testing

The objective of this test is to verify that the implementation is valid with respect to the system requirements. It involves the specification of system test cases in which the execution of the test cases will verify that the system requirements have been correctly implemented.

14
New cards

test group

In System Testing, A _ generally conducts this type of testing, and the system tests are traceable to the system requirements. Any system requirements that have been incorrectly implemented will be identified, and any defects will be logged and reported to the developers.

15
New cards

Performance Testing

The objective of this testing is to ensure that the performance of the system is within the bounds specified by the non-functional requirements. It may include load performance testing, where the system is subjected to heavy loads over a long period, and stress testing, where the system is subjected to heavy loads during a short time interval.

16
New cards

Performance testing

It often involves the simulation of many users using the system as well as the measurement of the response times for various activities. Test tools are employed to simulate a large number of users and heavy loads.

17
New cards

Acceptance Testing

System users or customers perform this testing before accepting the product. The customers will see the product in operation and will determine whether or not the system is fit for purpose.

18
New cards

Acceptance Testing

The objective of this test is to demonstrate that the product satisfies the business requirements and meets customer expectations.

19
New cards

Unit Testing, Integration Testing, System Testing, Performance Testing, Acceptance Testing

The following types of testing may be conducted: HINT: UT IT ST PT AP

20
New cards

Requirements analysis and specification

The objective of testing in this phase is to evaluate the gathered requirements. Each requirement should be evaluated to ensure it is correct and testable, and the requirements together are complete. Software inspections and prototyping can be employed to ensure the good quality of requirements.

21
New cards

Requirements analysis and specification

The activities to perform testing in this phase are to prepare for system testing and requirements analysis activities. The test plan should include the scope and objectives for testing at each phase, and the testing requirements should describe support software needed for testing at each stage.

22
New cards

System and software design

This phase partitions the requirements into hardware or software systems and builds the overall system architecture. The objective of testing in this phase is to verify the mapping between the requirements specification and the design. Any changes to the requirements specification should be reflected in the corresponding design changes. The testing at this stage helps to validate the design and interface. The activities to perform testing in this phase is to prepare for acceptance and usability testing. An acceptance test plan should include acceptance test requirements, test criteria, and a testing method.

23
New cards

Intermediate design

In this phase, the software system is broken into components and then classes are associated with each component. Design specifications are written for each component and class.

24
New cards

Intermediate design

The objective of testing in this phase is to avoid mismatches of interfaces.

25
New cards

Intermediate design

The activities to perform testing in this phase is to prepare unit testing, integration testing, and system testing by writing the test plans. The unit and integration test plans are refined at this phase with information about interfaces and design decisions.

26
New cards

Implementation design

In this phase, the developers start writing and compiling classes and methods.

27
New cards

Implementation design

The objective of testing in this phase is to perform effective and efficient unit testing. Unit test results and defects should be saved and reported properly for further processing.

28
New cards

System deployment

This is the process of delivering a completed software product to clients. The testing activities in this phase is to perform system testing, acceptance testing, and usability testing.

29
New cards

System testing, Acceptance testing, Test cases

In System deployment, validates whether the software meets the functional and non-functional requirements, while __ __ can be started when the system testing is completed. _ are derived from acceptance test plans and test data set up.

30
New cards

Requirement analysis and specification, System and software design, Intermediate design, Implementation design

The common phases of a software development process are the following: HINT: RAaS SaSD IntD ImpD SD

31
New cards

Test Case

A test case or test scenario is a software artifact with a set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path to verify compliance with a specific requirement and as documentation for a test item.

32
New cards

Test Case

It comprises user inputs that are provided to the application and the procedure for executing the test case during the test.

33
New cards

Test Case ID

a name and number to identify a test case

34
New cards

Objective/Description

the reason for the test (this may include the type of test)

35
New cards

Test Procedure

the activities or steps required on the part of the tester to carry out the test

36
New cards

Test data

the data to enter the system (made up of valid and invalid sets of test data)

37
New cards

Expected results

the expected results of the test

38
New cards

Actual results

a placeholder for recording the actual result as the test case gets executed.

39
New cards

Status

determines whether the test was a Pass or Fail. The status can also be Not Executed.

40
New cards

Remarks

any comments on the test case or execution

41
New cards

Administrative details

may include the name of the tester carrying out the tests, date of execution of the test, the environment in which the test was executed such as hardware and software.

42
New cards

Unit testing

It is the activity of writing code that tests other codes. This test focuses on a single unit of the software system, which can be modules such as methods, class, and interface.

43
New cards

Unit testing

It is also a source code that can be compiled and executed.

44
New cards

reports

As each unit test runs, it _______ the test’s success or failure with a simple true or false. If all of the unit tests pass, the production code that they test is considered to be working—meeting its requirements. If even a single unit test fails, the production code overall is deemed not to be meeting its requirements.

45
New cards

Developers

They perform unit tests before writing any production code to create a safety net to catch any subsequent errors when the code changes. If a unit test transitions from a passing state to a failing state, this means that the last change that ___ made will be responsible for breaking the code.

46
New cards

feedback loop

The process of writing unit tests and then improving code toward better design creates a positive __ ______ whereby the code quality increases while implementing new requirements.

47
New cards

test cases

In unit testing, _ are used to evaluate the input and expected output of the unit.

48
New cards

White-Box Testing

This testing approach is used to verify the internal logic and program statements of components or software. It involves stepping through every line of code and every branch in the code.

49
New cards

Knowledgeable

In White-Box Testing, the tester should be _ in the software programming language and should understand the structure of the program to perform this test. Then,s/he can look inside the class to review the code itself. The tester will insert a set of input through the code and compare the outputs from the expected results. This testing approach ensures that all program statements and all control structures are tested. Integrated Development Environments (IDEs) contains tools that perform white-box testing.

50
New cards

Black-Box Testing

In this testing, the tester derives tests from external descriptions of the software, including specifications, requirements, and design. This test is concerned with the inputs and outputs of the system where a set of input is inserted to the software’s user interface, and the outputs delivered by the software are compared with the expected outputs.

51
New cards

Black-Box Testing

The tester focuses on whether the class or module meets the requirements stated in the specifications.

52
New cards

user interface

Black-box testing is performed from the _________ of the software. It invokes the program, gives the necessary inputs to the software, then processes the test data and user inputs to generate outputs, which can be compared with the expected outputs to determine whether the software functioned correctly or not. The effectiveness of black-box testing depends on the design of test cases. If the test cases were extensive, then the testing would also be extensive and detect more defects in the software.

53
New cards

White-Box Testing, Black-Box Testing

There are two (2) approaches to unit testing: HINT: WBT BBT

54
New cards

manually or automatically

Unit testing can be performed _____ or ________ using unit testing tools or frameworks.

55
New cards

JUnit and TestNG

These are open-source unit testing frameworks designed for Java programming language. The JUnit unit testing framework supports test-driven development and can be run as stand-alone Java programs or within an IDE.

56
New cards

NUnit

This is an open-source unit testing framework for all .NET languages.

57
New cards

JUnit, TestNG, NUnit

Tools for unit testing: HINT: JU TNG NU

58
New cards

Test-Driven Development

The _____ _____________ ____________ is an iterative process where tests for the code are written before writing the code. The application is written with testability in mind, and the developers must consider how to test the application in advance.

59
New cards

Test-Driven Development

This approach forces the developer to write testable code.

60
New cards

unit tests

In TTD, The _ are used as a method for deriving the design of a component in an iterative process. The end result of the process is a completely functional component and a set of unit tests to verify that functionality. These same unit tests can be used when further modifications are made to the component to ensure the new modifications do not change the current functionality.

61
New cards

Generate

The test-driven development is intended to __ just enough design to pass the unit tests and prevent over-reengineering the code architecture.

62
New cards

Software deployment

It is the process of delivering a completed software product to clients. This involves packaging, testing, distributing, and installing the software product. Software files can be deployed manually or through automated deployment tools.

63
New cards

Automation

This eliminates the manual tasks of deploying software products. These tools perform tasks such as bug detection, patch protection, performance testing, and code analyzing.

64
New cards

Security

It manages the permission settings of users and groups who can access the information in the software.

65
New cards

Updates

These automate system updates, scan vulnerabilities, and practice regular patch management of latest software versions across applications. Software patching involves acquiring, testing, and installing the code – known as a patch – into an executable program to provide an update, fix, or improved version of the program or its supporting data.

66
New cards

Monitoring

It monitors and analyzes the activities and interactions of the software users. This helps in optimizing the performance and eliminates issues in the software before they spread in the entire network.

67
New cards

Automation, Security, Updates, Monitoring

The deployment tools are used to automate deployment tasks and are designed with the following features: HINT: A S U M

68
New cards

Jenkins

It is a self-contained, open-source automation server that can be used to automate all activities related to building, testing, and delivering or deploying software. This can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed. Jenkins’ functionalities can be extended through the installation of plugins in IDEs.

69
New cards

Octopus Deploy

This automated deployment tool is compatible with ASP.Net, Java, Node.js, and Windows services, as well as various script languages and database types. This is designed to automate application deployments in the cloud, corporate data center, and on-site.

70
New cards

Bamboo

This offers support for the delivery aspect of continuous delivery. Deployment projects automate the releasing into each environment while letting the project team control the flow with per-environment permissions. This supports real-time monitoring across all tools and flag errors of software as soon as they occur.

71
New cards

SolarWinds Patch Manager

This is an automated patch management software for Microsoft servers, workstations, and third-party applications. This facilitates easier patching, reporting, and information gathering for servers and workstations, and allows the project team to manage patch deployments with advanced scheduling and rebooting across servers and workstations.

72
New cards

Jenkins, Octopus Deploy, Bamboo, SolarWinds Patch Manager

Some of the commercially available deployment tools are as follows: HINT: J OD B SWPM