The document is an assignment submission for a software engineering course. It contains answers to 4 questions about software testing fundamentals, testing levels, lines of code cost estimation, and black box testing. The answers provide details on the software testing process, the 4 levels of testing (unit, integration, system, acceptance), how to calculate cost per line of code, and the advantages and disadvantages of black box testing.
The document is an assignment submission for a software engineering course. It contains answers to 4 questions about software testing fundamentals, testing levels, lines of code cost estimation, and black box testing. The answers provide details on the software testing process, the 4 levels of testing (unit, integration, system, acceptance), how to calculate cost per line of code, and the advantages and disadvantages of black box testing.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5
MEDI-CAPS UNIVERSITY, INDORE
ASSIGNMENT: 3 Software Engineering
DEPARTMENT OF INFORMATION
TECHNOLOGY & ENGINEERING
Submitted To: Swapnil Soner Sir
Submitted By : Devanshu Khatwani
Enrolment NO. : EN19IT301029
Year/Semester : Third/5th
1. Explainthe Software Testing Fundamentals.
ANS: The Fundamental Test Process comprises five activities: Planning: Planning is the first step of the software testing process. A test plan document outlines the planning for the entire test process. It has the guidelines for the testing process such as approach, testing tasks, environment needs, resource requirements, schedule, and constraints. It explains the full process of what you’re going to do to put the software through its paces, in a step-by-step format. Specification:A software requirements specification (SRS) is a document that describes what the software will do and how it will be expected to perform. It also describes thefunctionality the product needs to full-fill all stakeholders (business, users) needs. Execution: Test execution is the process of executing the code and comparing the expected and actual results Recording: Record and playback testing is a type of automated testing where the tool records the activity of the user and then imitates it. Checking for Test Completion:Test Completion is the last stage of the software testing life cycle. It results in a report that is a Test manager or a Test lead prepares that showcases the completed data from the test execution. 2. Discuss the various testing levels. ANS: There are 4 levels of testing: Unit or first level test: This is ideally our first level of testing software. Here, specific lines of code, distinct functionalities, and desired procedures are isolated and tested. These lines of code, functionalities, and procedures are termed software units because they are combined to make up the software. They can also be referred to as components of the software.Unit testing is a process that mostly involves testing the internal workings of the software. It’s easy and quick to do because it deals with the software unit by unit, not as a whole. Integration or second level test: This testing level involves combining all the components that make up the software and testing everything as a whole instead of individually as done during unit testing. Also, from this level, tests can be split into functional and non-functional types.First, the integrated codes could have been written by different developers, and need to be tested to ensure their correctness. By testing, we can identify and correct inter-working defects, simultaneous operation defects, parallel operation defects, etc. It helps us ascertain how well the units work together, and the condition of the interfaces between each of them.
System or third level test:
System testing has to do with verifying the required operations of the software and its compatibility with operating systems. In other words, we test both the technicalities and the business logic of the software; we run functional tests to check what the various functions of a system do, and non-functional tests to check how those functions work.For instance, in functional testing, we check if a login feature responds when the user enters a password. But in non-functional testing, we check how long it takes the user to log in after password entry.
Acceptance or fourth level test:
This level of software testing is similar to the system testing, but here, the test is carried out by some selected end-users. This is the only software testing stage that is carried out by users. This stage determines if the software is finally ready to be launched to the general public.All the selected users give their various opinions about the operation of the software; they let the organization know whether the software meets their diverse requirements, and recommend areas that may need to be improved upon. Acceptance testing can also be referred to as User Acceptance Testing.
3.Explain line of code. Also evaluate the cost
estimation per line of code.(Number of LOC per month: $500 LOC/month, The cost per month: $9000) ANS: A line of code (LOC) is any line of text in a code that is not a comment or blank line, in any case of the number of statements or fragments of statements on the line. LOC clearly consists of all lines containing program header files, declaration of any variable, and executable and non-executable statements. As Lines of Code (LOC) only counts the volume of code, you can only use it to compare or estimate projects that use the same language and are coded using the same coding standards. EVALUATION: Number of LOC per month: $500 LOC/month. The cost per month: $9000 Therefore, cost estimation per line of code is $9000/$500 = $18 / LOC.
4.Explain black box testing along with its advantages
and disadvantages. ANS: Black Box Testing is a testing technique where no knowledge of the internal functionality and structure of the system is available. This testing technique treats the system as a black box or closed box. The tester only knows the formal inputs and expected outputs, but does not know how the program actually arrives at those outputs. As a result, all testing must be based on functional specifications. For this reason black box testing is also considered to be functional testing and is also a form of behavioural testing or opaque box testing or simply closed box testing. Although black box testing is behavioural testing, behavioural test design is slightly different from black box test design because internal knowledge may be available in behavioural testing.
Advantages of Black Box Testing
Efficient when used on large systems. Since the tester and developer are independent of each other, testing is balanced and unprejudiced. Tester can be non-technical. There is no need for the tester to have detailed functional knowledge of system. Tests will be done from an end user's point of view, because the end user should accept the system. (This testing technique is sometimes also called Acceptance testing.) Testing helps to identify vagueness and contradictions in functional specifications. Test cases can be designed as soon as the functional specifications are complete. Disadvantages of Black Box Testing Test cases are challenging to design without having clear functional specifications. It is difficult to identify tricky inputs if the test cases are not developed based on specifications. It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult. There are chances of having unidentified paths during the testing process. There is a high probability of repeating tests already performed by the programmer.