例外とアサートの使い分け

お世話になっております。 assertをコードに書いたことがないのですが、 どのような場合に使用してますか? 例えばメソッドの先頭でobjAはnullでないことを前提に処理が行われる場合に