Grockit is also a good source of practice CATs and questions if you have a premium membership. I believe you also get 6 CATs free with any MGMAT book purchase.
For DS, I'd follow these steps:
Step 1: Write down the Question Type. Data Sufficiency questions come in two forms. They either ask for a specific "value" or have a "yes/no" format. Determine which type of question it is, and write it down. Ask yourself: what kind of information will I need to answer the question? For "value" questions, a statement must provide a single numerical solution to be sufficient. For "yes/no" questions, either a firm "yes" or a firm "no" is acceptable but a single statement cannot be answered both ways. For "yes/no" questions, it doesn't matter how the question is answered, just that it can only be answered in one way. Spend a few seconds brainstorming what kind of information would provide sufficiency before you move on to the Statements.
Step 2: Write down A B C D E on your scratch paper. You will be eliminating as you go.
Step 3: Evaluate Statement 1. What information does this statement give you? For a "value" question, is it enough to determine a single value? For a "yes/no" question, does it answer the question in one way only? If the statement allows you to answer "sometimes yes and sometimes no," then it is NOT sufficient.
If Statement 1 is sufficient, cross off choices B, C and E.
If Statement 1 is NOT sufficient, cross off choices A and D.
Step 4: Refresh the "Q" Before Moving on to "2." Re-read the question and reconsider the question type. Is it "value" or "yes/no"? What information would determine sufficiency? It's important to take this "breather" before reading Statement 2 to allow yourself to "forget" about the information in Statement 1. Make sure not to mentally carry any information from Statement 1 into you evaluation of Statement 2.
Step 5: Evaluate Statement 2. Based on the question type, determine whether Statement 2 is sufficient. Does it allow you to answer either "yes" or "no" confidently? Does it give a single possible solution?
If Statement 2 is sufficient and Statement 1 is sufficient, the answer is D.
If Statement 2 is sufficient but Statement 1 was NOT sufficient, the answer is B.
If neither Statement 2 nor Statement 1 sufficient, cross off B and, move on to Step 6.
Step 6: Combine the Statements. At this step, the answer will be either C or E. Check to see if Statement 2 provides the information missing from Statement 1. What was lacking from Statement 1? Why was it not sufficient by itself? What information does Statement 2 provide?
If together Statements 1 and 2 together provide sufficiency, the answer is C.
If together Statements 1 and 2 do NOT provide sufficiency, the answer is E.
*Final Tip: Pay close attention to variables in Data Sufficiency problems. Remember that a variable can be negative, positive, zero, a fraction, etc. unless the question places limitations on it, such as x < 0. Don't assume variables are always positive! Look for the exceptions and Pick Numbers to try out several options!
Good luck!