a:6:{i:0;s:8671:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for testing engineer in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.diyahr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.diyahr.com/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for testing engineer in bangalore</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-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Test Architect -- Bangalore</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">A deep technical specialist focusing on design, implementation, use, enablement of the testing function and so the overall development function as well.<br />
Possess broad awareness of testing approaches, practices and techniques in order to help design and deliver the overall testing methodology used by the team.<br />
Monitor the effectiveness of the testing function and bring about improvements through insights gained via analysis at all stages of the DevOps process.<br />
Identify what tools and technologies can be implemented, aligning with that already used across the broader development function and in-line with the skill set of the team.<br />
Design and develop the test automation framework, harnesses and code libraries, and Service Automation to enable the teams to both use and enhance them.<br />
Provide technical know-how, documentation and training to test and other business functions<br />
Stay up to speed on process, practice and technology developments to ensure they are brought in-house and enhance the solutions applied to the testing problems<br />
Review Feature team testing automation<br />
Review testing and deployment toolsets and configurations<br />
Maintain Error logging system.<br />
<br />
Desired Skills and Experience<br />
•	Proven Agile and DevOps Testing Architecture Experience <br />
•	Solid experience in Telecom Domain / telecom and Salesforce, Vlocity & Amdocs knowledge<br />
•	Hands on experience on preparing E2E test strategy, business testing strategy for a complex program<br />
•	Proven Experience in assessing virtualization opportunities and showcase business value benefits<br />
•	hands on assessment of shift left testing and automation feasibility <br />
•	Experience on running test planning workshops, identifying test data requirements <br />
•	Excellent stakeholder relationship management<br />
•	Excellent analysis skills<br />
•	Excellent communication Skills<br />
•	Can Demonstrate being a quick learner<br />
•	Proven Systems thi<br />
•	Maintain Service Catalogue Architecture<br />
•	Assist and Guide both CoE E2E test engineers and Feature team test Engineers</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 15 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 15  Lac  To   20 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Test Architect</span>
												<span class="bdr dib p2px10px mr5px mt2px">Agile</span>
												<span class="bdr dib p2px10px mr5px mt2px">Devops Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px">CoEE2E</span>
												<span class="bdr dib p2px10px mr5px mt2px"> testing engineer</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Client of Diya HR</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">It is a leading MNC Software Company. Having their presence across globe.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contact@diyahr.com"> contact@diyahr.com </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="314332">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="903863"><input type="hidden" name="subject" value="Applied for Test Architect -- Bangalore">
					</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="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-afghanistan.htm" title="Jobs in Afghanistan">Afghanistan</a> <b class="alpha50 bn small">(2)</b></span>
										</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
									
				</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: 'bXpLK0cyNUJEWmQreTJHYXdzVjR3Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:76:"Job openings for testing engineer in bangalore | Diya HR Consultants Pvt Ltd";i:2;s:208:"Test Architect -- Bangalore Jobs,Test Architect -- Bangalore Jobs in Bangalore,Test Architect -- Bangalore Vacancy in Bangalore,Test Architect -- Bangalore jobs in India,IT Software - Others jobs in Bangalore";i:3;s:291:"Apply for Test Architect -- Bangalore Jobs in Bangalore India - Test Architect -- Bangalore Vacancy  in IT Software - Others field with 10 to 15 years Work Experience, Key Skills are Test Architect,Agile,Devops Engineer,CoEE2E, testing engineer, IT Software - Others jobs in Bangalore  India";i:4;s:2743:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Test Architect -- Bangalore",
		  "baseSalary": " 15  Lac  To   20 Lac ",
		  "description": "A deep technical specialist focusing on design, implementation, use, enablement of the testing function and so the overall development function as well.
Possess broad awareness of testing approaches, practices and techniques in order to help design and deliver the overall testing methodology used by the team.
Monitor the effectiveness of the testing function and bring about improvements through insights gained via analysis at all stages of the DevOps process.
Identify what tools and technologies can be implemented, aligning with that already used across the broader development function and in-line with the skill set of the team.
Design and develop the test automation framework, harnesses and code libraries, and Service Automation to enable the teams to both use and enhance them.
Provide technical know-how, documentation and training to test and other business functions
Stay up to speed on process, practice and technology developments to ensure they are brought in-house and enhance the solutions applied to the testing problems
Review Feature team testing automation
Review testing and deployment toolsets and configurations
Maintain Error logging system.

Desired Skills and Experience
•	Proven Agile and DevOps Testing Architecture Experience 
•	Solid experience in Telecom Domain / telecom and Salesforce, Vlocity & Amdocs knowledge
•	Hands on experience on preparing E2E test strategy, business testing strategy for a complex program
•	Proven Experience in assessing virtualization opportunities and showcase business value benefits
•	hands on assessment of shift left testing and automation feasibility 
•	Experience on running test planning workshops, identifying test data requirements 
•	Excellent stakeholder relationship management
•	Excellent analysis skills
•	Excellent communication Skills
•	Can Demonstrate being a quick learner
•	Proven Systems thi
•	Maintain Service Catalogue Architecture
•	Assist and Guide both CoE E2E test engineers and Feature team test Engineers",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "10 - 15 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Test Architect,Agile,Devops Engineer,CoEE2E, testing engineer"
		  }
		</script>
		";i:5;N;}