Implementation, testing and results — Unit 4 Notes (Minor Project and Industrial Training)

BCP751 · Unit 4

Implementation, testing and results notes — Unit 4

Free unit-wise study notes on implementation, testing and results for Minor Project and Industrial Training, Semester 7 of B.Tech — Computer Science & Engineering — key concepts, examples, important questions and a revision checklist for semester exams.

Testing, deployment and version control

Notebook — 7 pages

Page 1

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

1. The Importance of Testing

Testing is not an afterthought; it is a fundamental part of the development lifecycle. It proves that the software meets the SRS and works correctly under various conditions.

1.1 The Cost of Bugs

A bug found during the requirement phase costs 1tofix.Thesamebugfoundduringimplementationcosts1 to fix. The same bug found during implementation costs 10. If that bug reaches production and is found by a customer, it costs $100+ to fix (support costs, reputation damage). Testing catches bugs early.

Next — Levels of Testing

1 of 7

Page 2

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

2. Levels of Testing

2.1 Unit Testing

Testing individual functions or methods in isolation. If a function calculates taxes, a unit test passes it '100' and asserts the result is exactly '105'. These are usually automated and run by developers.

2.2 Integration Testing

Testing how different modules work together. Does the backend properly communicate with the database? Does the React frontend parse the JSON from the Node.js API correctly?

2.3 System Testing

Testing the entire integrated system as a whole against the original SRS requirements.

Next — Testing Types

2 of 7

Page 3

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

3. White-Box vs Black-Box Testing

3.1 White-Box Testing

The tester knows the internal structure and code of the application. They design test cases to ensure every line of code (statement coverage) and every IF/ELSE branch (branch coverage) is executed at least once.

3.2 Black-Box Testing

The tester treats the application as a black box. They only know the required inputs and expected outputs, without caring how the code works internally. Excellent for UI testing and User Acceptance Testing (UAT).

Next — Version Control

3 of 7

Page 4

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

4. Version Control (Git)

Version Control Systems (VCS) track changes to source code over time. Git is the undisputed industry standard.

4.1 Why Git is Essential

  • History: You can revert the entire project to exactly how it looked last Tuesday if a new bug is introduced.
  • Collaboration: Multiple developers can work on the same file simultaneously. Git safely merges their changes.
  • Branching: You can create an isolated 'branch' to experiment with a new feature without breaking the main working code.

Submitting a zip file called `final_project_v3_REAL_FINAL.zip` is unacceptable in industry. The project examiner will look at your GitHub repository's commit history to verify steady progress.

Next — Deployment

4 of 7

Page 5

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

5. Deployment

Deployment is the process of moving your code from your local laptop to a server where users can access it over the internet.

5.1 Modern Deployment

In the past, deployment meant manually FTP-ing files to a server. Today, it is highly automated.

  • PaaS (Platform as a Service): Services like Heroku, Vercel, or Render allow you to link your GitHub repository. When you push new code to Git, the platform automatically detects it, builds the project, and deploys it live.
  • Containerization: Packaging the app using Docker ensures that it runs exactly the same way on the deployment server as it did on your local laptop, eliminating the 'It works on my machine' excuse.

Next — CI/CD

5 of 7

Page 6

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

6. Continuous Integration / Continuous Deployment

CI/CD is the ultimate expression of automated testing and deployment.

6.1 The CI/CD Pipeline

Using tools like GitHub Actions or Jenkins:

  • 1. A developer pushes code to GitHub.
  • 2. CI: A cloud server automatically downloads the code and runs all the Unit Tests. If any test fails, the code is rejected.
  • 3. CD: If the tests pass, the server automatically deploys the code to the production web server.

This allows teams to deploy new features 50 times a day safely, without human intervention.

Next — Summary

6 of 7

Page 7

Wink Notes

B.Tech CSE — 7th Semester

Minor Project and Industrial Training

Unit - 4

7. Unit Summary

  • Testing: Unit (individual functions), Integration (module interaction), System (whole application). White-box (internal logic) vs Black-box (input/output).
  • Version Control: Git is mandatory for tracking history, branching features, and enabling team collaboration.
  • Deployment: Moving code to production, often utilizing Docker containers and PaaS providers for consistency.
  • CI/CD: Automating the pipeline so that pushing code triggers automated tests and immediate deployment if successful.

7 of 7

Continue in this subject