Property-based testing tools have recently become quite popular among Erlang developers. Such tools currently have little connection with the type system of the language. In this thesis, we explore some possible ways of integrating elements of the language's type system into a property-based testing tool. Specifically, we describe how such a tool could utilize type declarations to produce the corresponding term generators automatically, how it should handle abstract data types with hidden representations, and also how it could use the type information contained in the signature of a function to test it automatically. We have developed a prototype for such a system, called PropEr. Tests from using PropEr as an automatic function tester show that, while such a system is definitely capable of finding errors in programs, our approach suffers from some key limitations, which we leave as future work.