The lattice Boltzmann method (LBM) is a particle-based numerical scheme for calculating fluid flow problems. Key advantages of the LBM are due to the fact that the solution for the particle distribution functions is explicit, easy to implement, and natural to parallelize. These advantages make LBM as a powerful tool for simulating a wide variety of fluid dynamical applications. Due to its particulate nature and local dynamics, investigating the flow behavior near the boundaries to construct suitable and accurate boundary conditions is of great importance in LBM. In contrast, as the LBM often uses uniform regular Cartesian grids in space, the method suffers from accuracy reduction in dealing with curved boundaries that cross the lattice edges. Such problems cause the boundary treatment to be of great importance in LBM. There are a lot of boundary treatments proposed by different researchers especially for the velocity at a solid wall to increase the accuracy and efficiency of this method. In this project, different boundary conditions are investigated extensively. The accuracy of these boundary conditions are tested and compared against solving simple flow problems. This project mainly has focused on assessing no-slip boundary conditions for solid walls. An Investigation of curved boundary treatments is also presented here. At the end of this project, a method is presented to evaluate the order of accuracy of boundary conditions in LBM and the accuracy of some no-slip boundary conditions is calculated. The presentation of a new scheme to accurately treat the boundary conditions for curved geometries is an innovation in this work.