A unit test is an (almost always) automated test which verifies the behaviour of a small, isolated unit of code.
This unit of code is usually a single method or function. Any more than that and you start getting lots of scenarios. There are normally multiple tests verifying a single piece of code with each testing a specific scenario.
Generally a good unit test should be:
- Isolated (it can be run by itself or alongside others)
- Fast
- It should not touch any external resource such as a network or hard disc
- Repeatable (it should run at any time and give the same result)
System Tests are usually a higher level than that. For example, when I click this button what does the system do. Although this could be a little vague as these are sometimes called Acceptance Tests.
Both Unit Tests and System Tests have different strengths and weaknesses (as do performance and security tests). You need to understand your test approach to understand which are appropriate for your application and risk profile.
However, if you're an engineer and your colleague is a Project Manager I would expect that it would fall to you to define the testing you want to do and not the other way around.
Also, one final point - please please don't give estimates for work and another estimate for tests. The two are one and the same. You can't develop software without tests any more than you can fix a car without starting it up to make sure it works!