1. When you are done with a change, you need to test your changes first just to make sure not only it does what it is supposed to do, but also it does not destroy the existing features. You would need to lay out how you are going to test your changes. Let's say you have added a column to a table in an HTML form. So, you would need to come up with different testing scenarios. Let's say this column would show data in a field in the database and this field is optional, which means this field may be blank sometimes. Here are the scenarios that you need to test,
i) A person with that field populated logs on to your application.
ii) A person with that field not populated logs on to your application.
And then you will need to come up with a detailed plan like the one below,
A person would log on using user name, whatever, and password, whatever. Click on whichever link on the navigation bar to open up whatever application. And then he/she would the additional column right next to whatever field.
In regard to web testing and backend testing, the testing plan that you have is for one person testing the change. In reality, you would almost always never see just one person hitting your application at any given time. Chances are, you will have multiple people hitting the application and the database at the same time. Would your server be able to handle tens of thousands of concurrent users? Would your database backend be able to handle multi-threading solutions?
2. C# (pronounced as C Sharp) is Microsoft's attempt to compete with Java. C# is also one of the languages that ASP .Net uses. ASP stands for Active Server Pages. ASP, ASP .Net, ColdFusion, PHP, JSP (Java Server Pages) are all used for server side programming. These languages allow you to develop dynamic web applications that interact with a database, web services, RSS feed, objects,...and many other server side technologies. There are many popular selections as the database backend (i.e. MS SQL Server, Access, MySQL, ...etc.) MS SQL and MySQL are mainly used for enterprise level applications. Crystal Report is one of the most popular technologies for report and charting purposes. You can use C# to generate a Crystal Report based upon the parameters on the fly. To learn more about it, you can go to any major book stores like Barnes and Noble or Borders to read up on ASP .Net, C#, MS SQL, and Crystal Report.
3. If you graduated with a computer science degree just two years ago, you have got to know what Object Oriented Architecture (OOA) is. I got my computer science degree back in 1997. OOA was a big topic back then and has grown to a major architecture now. It is hard to explain to you in details what OOA is because I wouldn't have enough space for that. I would assume that you had taken some C++ classes in university. C++ is an OO language. Let's say you have to program something about a car. A car is an object. There are many attributes related to a car (object). A car has doors, a muffler, an engine, ...etc. A car can move forward, backward, turn left, turn right, ...etc. You can define a car as an object that has all these attributes. So, when you say A_car = New Car(). A_car would be defined as a car with all the attributes related to a car. Microsoft .Net Framework is even harder to explain. You can go to any major book stores to read up on it.
In regard to Software Development Life Cycle, whenever you have to do a project, instead of just go ahead and make the change, you would need to create some kind of specs first that explains how the whole project is going to be carried out. I know you probably never did anything like this when you were in university. This spec would cover the followings,
i) Analysis: what hardware is necessary for this change, what personnel need to be involved, what is in scope, what is out of scope, ...etc.
ii) The purpose of this project.
iii) What exactly are the changes involved in this project. Flowchart of the application. If it were a change to an existing application, you will need to show the comparisons of the existing application and the application with your change. Would users have a different experience in the new application? It would be great to have a mock screen shots.
iv) When the changes are completed, how are you going to test the changes? How are you going to get the changes to production? Who needs to test the changes?
The whole point of creating a spec is for your clients to see what actually will be done. You don't start your actual development until the spec is approved by your clients. Many times, your clients may request a change that they think is a simple change (because they are not computer programmers) to your program that may not be so simple to you. Before doing the actual development work, all the changes are done to the spec, which you basically just need to re-type it and it does not take you much time relatively speaking. When the spec is approved, you will build your application according to the spec. If your clients change their minds, you can point them to the spec.