The best way to understand anything is to push it to its limits, to see where it breaks.
After you establish the basics of your characters, of who they are and what they believe you put them in scenarios. Situations where you try and think of what they would do.
If your character is brave look for situations where he would act cowardly. If your character is smart look for situations where he would act stupid. This helps you humanize your characters and to know their limits. No one is brave all the time, or smart all the time.
Will your main character, who is a man of peace, kill to protect himself? If so, what level of danger would he have to be in?
The best example of this I can think of is in Game Of Thrones. Ned Stark was an honorable man who served his people, his kingdom and his king. He would never lie. However he did, just before he died he lied to try and save his children.
Everyone has breakpoints, situations where they act in ways seemingly against their nature. Knowing where these are also helps you write them, it can make them more human.