Testing:-




  • Testing the probably the last step programming where the objective for the program designed, is validated Testing is used to make sure all the things related to the program result and do necessary modification in case any thing what feels mandatory to fix the goal. Testing event is even to make sure the logical path of the program statement.
  • whereas Debugging is the process where errors in the program is fetched and fixed. When you compile or interpret a program and you see any error, so fixing them by replacing with appropriate and correct one is kindly treated as Debugging.

There are many types of testing methods like:-

Unit Testing:-

Unit testing is the testing of an individual unit or group of related units. It falls under the class Of white box testing. It is often done by the programmer to test that the unit he/she has implemented is producing expected output against given input.

Integration Testing:-

Integration testing is testing in which a group of components are combined to produce output. Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation. It may fall under both white box testing and black box testing.

Functional Testing:-

Functional testing is the testing to ensure that the functionality required in the system requirements works. It falls under the class of black box testing.

System Testing:-

System testing is the testing to ensure that by putting the software it different environments (e.g., Operating Systems) it still works. System testing is done with full system implementation and environment. It falls under the class of black box testing.

Debugging:-

debugging is the process where error in the program is fetched and fixed. When you compile or interpret a program and you see any error, so fixing them by replacing with appropriate and correct one is kindly treated as debugging.

 Difference between Testing and Debugging :

TestingDebugging
I. Testing always starts with known conditions,
uses predefined methods, and has predictable
outcomes too.
1. Debugging starts from possibly un-known
initial conditions and its end cannot be
predicted, apart from statistically.
2 Testing can and should definitely be planned,
designed, and scheduled.
2. The procedures for, and period of,
debugging cannot be so constrained.
3. It proves a programmers failure.3. It is the programmer’s vindication
4. It is a demonstration of error or apparent
correctness.
4. It is always treated as a deductive process.
5. Testing as executed should strive to be
predictable, dull, constrained, rigid, and inhuman.
5. Debugging demands intuitive leaps, conjectures,
experimentation, and some freedom also.
6.Much of the testing can be done without design
knowledge.
6, Debugging is impossible without
detailed knowledge.
7.It can often be done by an outsider.7, It must be done by an insider.
8.Much of test execution and design can be
automated.
8. Automated debugging is still a dream for
programmers.
9. Testing purpose is to find bug.9, Debugging purpose is to find cause of bug.

Documentation:-

All large software development projects, irrespective of application, generate a large amount of associated documentation. For moderately sized systems, the documentation will probably fill several filing cabinets; for large systems, it may fill several rooms. A high proportion of software process costs are incurred in Producing this documentation. Furthermore, documentation errors and omissions can lead to errors by end-users and consequent system failures with their associated cost and disruption. Therefore, managers and software engineers should pay as much attention documentation and its associated costs as to the development of the software itself.

The documents associated with a software project and the system being developed has a number of associated requirements.

  • They should act as a communication medium between members of the development team.
  • They should be a system information repository to be used by maintenance engineers•
  • They should provide information for management to help them plan, budget and schedule the software development process.

Different types of documentations are listed below:-

1. User Documentation:-

User documentation refers to the documentation for a product or service provided to the end users. The user documentation is designed to assist end users to use the product or service. This is often referred to as user assistance. The user documentation is a part of the overall product delivered to the customer. Traditionally user documentation was provided as a user guide, instruction manual or online help. However, user documentation is increasingly being delivered online today. This has enabled technical writers to be more imaginative in how they assist users.

2. Technical Documentation/System Documentation:-

In engineering, technical documentation refers to any type of documentation that describes handling, functionality and architecture of a technical product or a product under development or use. The intended recipient for product technical documentation is both the (proficient) end user as well as the administrator / service or maintenance technician. Technical documentation aims at providing enough information for a user to understand inner and outer dependencies of the product at hand.