Analyzing gas flow behavior is important for production prediction in heterogeneous fractured shale reservoirs, which is complex due to the presences of nanopores and high-degree heterogeneity in these complex flow network. First, we applied the discrete fracture model to simulate gas pulse-decay experiments in core plugs with different configurations. The effective permeability ratio was proposed to evaluate the effects of heterogeneity, fracture, and vug on the flow behavior. Second, we performed pulse-decay experiments on one intact fractured shale core to examine the effects of pore pressure and effective stress on permeability variations. The measured pressure profiles were history matched by numerical methods to obtain the porosity and permeability of matrix and fracture. The matching degree is evaluated by the Global Matching Error (GME). Our results highlight the positive impact of dense fracture network to improve flow capacities in the tight reservoir: effective permeability of the fractured core with 8 pairs of 1.3-cm connected fractures increases 4.07 times that of the un-fractured core. Vugs might be important as well if they connect adjacent fracture networks, but their own contribution to flow capacity is negligible: effective permeability increases only 1.00 to 1.02 times when the number of vugs increase from 3 to 35. The GME ranges from 0.04% to 0.2% for history matching of the fractured core. Core heterogeneity is exhibited more obviously when gas flows through under low pressure than under high pressure, which can be used to guide the design of pulse-decay experiment properly depending on the purpose. The main contributions of this study are that we constructed the finite-element based numerical model to simulate the pulse-decay experiment, proposed a methodology to upscale core permeability when fractures and vugs are present, and measured porosity and permeability for the matrix and fracture simultaneously in one fractured core over a wide range of pressure and effective stress.