I am getting new advertising identifier each time I run a beta app uploaded to TestFlight in iTunesConnect. Is it a normal behaviour? Will it happen for AppStore app too?
It is by design. It started happening in 2014. It will only happen in a TestFlight app, not in a production app in the app store. It's unfortunate--it makes it hard to test some apps realistically with actual beta testers.
In the WWDC 2014 talk, "User Privacy in iOS and OS X," by David Stites and Katie Skinner, they mention this. (This link only works in Safari.) You can see it in slide #8 of their slide deck.
In this transcript of the talk, you'll find: "Also this year, for TestFlight apps the advertising identifier will be different each time you call the API."