a:6:{i:0;s:12276:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Bvt Test Engineer</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.svsjobs.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.svsjobs.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Bvt Test Engineer</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 5 - 8 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Bangalore</p>
										
					<div>
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="875341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="903651"><input type="hidden" name="subject" value="Applied for Bvt Test Engineer">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Roles and Responsibilities<br />
will Be Expected to Build Automated Bvt Functional Testcases and Tests Across the Solution.<br />
create Automated Test to Test all Components in Isolation, Using Mocking, Stubbing and Service Virtualisation Tools like Mountebank.<br />
provide Manual Testing for Bvt Scenarios Outside of Automation.<br />
desired Skills and Experience<br />
has Proven Experience Building Automated Functional, Bvt, Integration and Regression Tests<br />
understand Functional, Bvt, Integration and Regression Testing in the Context of Unit, Integration and System Validation Testing Has Proven Automation Experience<br />
significant Utilisation of Test Automation Frameworks such as Tosca, Selenium, Webdriverio, Jest, Enzyme, Mocha, Cucumber, Appium.<br />
2+ Years’ Experience Using Tosca is Preferred<br />
significant Utilisation of Programming Languages such as Javascript (including Frameworks like React or Node.js), Java, Python. Use of Techniques like Bdd and Tdd.<br />
experience Testing with Apis with Graphql and Restful Styles of Communication.<br />
experience in Clean Code Techniques, Coding Standards and Refactoring Code for Better Testability<br />
ability Conduct Code Reviews and Peer Programming with Test Automation Community<br />
non-functional Testing Experience Including Performance, Security, Accessibility, Internationalisation.<br />
experience in the Application and Customisation of Continuous Integration/deployment Process and Tools such as Jenkins, Bamboo.<br />
experience in Cloud Architecture, Development, and Testing in Aws, Google Cloud Platform or Azure.<br />
experience with Docker, Kubernetes, Istio or other Containerisation Platforms.<br />
consulting and Client Management Experience, Change Management, and Implementation Management<br />
excellent Communication Skills<br />
excellent Understanding of Functional Testing Principles<br />
excellent Understanding of Integration Testing Principles<br />
excellent Understanding of Regression Testing Principles</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  50 Thousand  To  8  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - QA / Testing / Documentation</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">5 - 8 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">BVT Test Engineering</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> BVT Testing</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">K. Senthil</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Plot no. 48, Parsuvanath Avenue, ALS Nagar, Madambakkam, Chennai</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">7977587717 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@svsjobs.in"> info@svsjobs.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="875341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="903651"><input type="hidden" name="subject" value="Applied for Bvt Test Engineer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-madurai.htm" title="Jobs in Madurai">Madurai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(17)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportation / Packaging / Shipping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Training / Counselling / Academic</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Internet Technologies</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administration, Security</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / Documentation</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'NlRkakk1N3ZrR0xjaU92ZlI4dENlQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:91:"Bvt Test Engineer Jobs in Bangalore - Vacancy in IT Software - QA / Testing / Documentation";i:2;s:190:"Bvt Test Engineer Jobs,Bvt Test Engineer Jobs in Bangalore,Bvt Test Engineer Vacancy in Bangalore,Bvt Test Engineer jobs in India,IT Software - QA / Testing / Documentation jobs in Bangalore";i:3;s:285:"Apply for Bvt Test Engineer Jobs in Bangalore India - Bvt Test Engineer Vacancy  in IT Software - QA / Testing / Documentation field with 5 to 8 years Work Experience, Key Skills are BVT Test Engineering, BVT Testing, IT Software - QA / Testing / Documentation jobs in Bangalore  India";i:4;s:2631:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Bvt Test Engineer",
		  "baseSalary": " 7  Lac  50 Thousand  To  8  Lac  50 Thousand ",
		  "description": "Roles and Responsibilities
will Be Expected to Build Automated Bvt Functional Testcases and Tests Across the Solution.
create Automated Test to Test all Components in Isolation, Using Mocking, Stubbing and Service Virtualisation Tools like Mountebank.
provide Manual Testing for Bvt Scenarios Outside of Automation.
desired Skills and Experience
has Proven Experience Building Automated Functional, Bvt, Integration and Regression Tests
understand Functional, Bvt, Integration and Regression Testing in the Context of Unit, Integration and System Validation Testing Has Proven Automation Experience
significant Utilisation of Test Automation Frameworks such as Tosca, Selenium, Webdriverio, Jest, Enzyme, Mocha, Cucumber, Appium.
2+ Years’ Experience Using Tosca is Preferred
significant Utilisation of Programming Languages such as Javascript (including Frameworks like React or Node.js), Java, Python. Use of Techniques like Bdd and Tdd.
experience Testing with Apis with Graphql and Restful Styles of Communication.
experience in Clean Code Techniques, Coding Standards and Refactoring Code for Better Testability
ability Conduct Code Reviews and Peer Programming with Test Automation Community
non-functional Testing Experience Including Performance, Security, Accessibility, Internationalisation.
experience in the Application and Customisation of Continuous Integration/deployment Process and Tools such as Jenkins, Bamboo.
experience in Cloud Architecture, Development, and Testing in Aws, Google Cloud Platform or Azure.
experience with Docker, Kubernetes, Istio or other Containerisation Platforms.
consulting and Client Management Experience, Change Management, and Implementation Management
excellent Communication Skills
excellent Understanding of Functional Testing Principles
excellent Understanding of Integration Testing Principles
excellent Understanding of Regression Testing Principles",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "5 - 8 Years",
		  "industry": "IT Software - QA / Testing / Documentation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "BVT Test Engineering, BVT Testing"
		  }
		</script>
		";i:5;N;}