Understanding the heterogeneity and dynamic plasticity of tumor cells is crucial for overcoming drug resistance. Single-cell technologies enable the analysis of cell states at a given condition or time point, but it is still challenging to catenate static tumor cell snapshots to characterize their dynamic responses after drug treatment. Here, we propose scStateDynamics, an algorithm to infer tumor cell state dynamics and identify common drug effects by modeling single-cell level gene expression changes. We first demonstrate its reliability of inferring cell state dynamics on both simulated data and the data with lineage tracing information. By applying to several real tumor drug treatment datasets, we show scStateDynamics can identify more subtle cell subclusters with different drug responses beyond static transcriptome similarity. Further, scStateDynamics can also identify the common drug effects by extracting cluster-shared components from the cell-level expression changes.