For software testing basics you can have a look at below answer.
basics of software testing
Here is my answer to your question "How do I start creating test case/test plan as a newbie?".
As a tester/ QA person, you should first focus on gathering requirements. If your requirements are not clear/ communicated orally, you should first note it down and get it approved from the business team via email. Once you have your requirements in place, you should create mid map based on your understanding. This will give you a high-level idea of what to test and how to test. While creating a mind map, first start with negative scenarios. Make sure that you list all possible negative scenarios. Negative scenarios are those where you expect a system to not to do or not to function. Eg. When username/password is wrong, a system should not log in. When email ID is of invalid format, a system should not send an email and it should throw an error message. Once you have all negative scenarios covered for specified module, you can start creating positive scenarios. Eg. When an email is right, a system should send an email. You can use some tool to help you create mind-map. Once you have mind-map ready, you can start creating a test plan.
Once you have your test plan ready, first thing first, you have to start writing test cases. There are many tools in the market today where you can maintain your test cases, but I recommend using simple Excel file to start creating test cases. You can have below rows with values in your test case Excel file.
Test Execution Date:
Test Executed By:
Below the above information, create column headers:
Test Case ID: ID you want to give to your test case. Give something based on your module. Don't give a generic name. Say, you are creating a test case for Search Module, you can use your test case ID as Search_TC_001.
Test Case Description: What your test case supposed to do. Eg. Searching for the product in search module and make sure that the product is loaded.
Step ID: So, this can be numbers like 1,2,3. If you have any sub-step, you can use 1.a,1,b and so on...
Execution Steps: Your steps here.
Expected Result: Your expected result.
Actual Result: Your actual result. This column is mainly to record your output. So, this column will be initially empty.
Results: Here you make it pass or fail. This will be empty as well, initially.
Once you are done writing tests, you have to execute those test cases once the product is ready for testing.