a:6:{i:0;s:14620:"				<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="h1"><h1>Job openings for test architect in bangalore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.svsjobs.in/">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> Job openings for test architect in bangalore</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Test Architect</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">Roles & Responsibilities<br />
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 Automations<br />
review Testing and Deployment Toolsets and Configurations<br />
maintain Error Logging System<br />
maintain Service Catalogue Architecture<br />
assist and Guide Both Coe E2e Test Engineers and Feature Team Test Engineers <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 of Skills<br />
excellent Communication Skills<br />
can Demonstrate Being a Quick Learner</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">12 - 13 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 16  Lac  To  17  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - QA / Testing / Documentation</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"> Technical Specialist</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">Contact Person</td>
						<td class="p5px">K. Senthil</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Plot no. 48, Parsuvanath Avenue, ALS Nagar, Madambakkam, Chennai</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7977587717 </td>
						</tr>
												<tr>
						<td class="w195 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="903614"><input type="hidden" name="subject" value="Applied for Test Architect">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(59)</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">(20)</b></span>
										<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">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-madurai.htm" title="Jobs in Madurai">Madurai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr 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 bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pondicherry.htm" title="Jobs in Pondicherry">Pondicherry</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-vellore.htm" title="Jobs in Vellore">Vellore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-coimbatore.htm" title="Jobs in Coimbatore">Coimbatore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thiruvallur.htm" title="Jobs in Thiruvallur">Thiruvallur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-kochi.htm" title="Jobs in Kochi">Kochi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-kanchipuram.htm" title="Jobs in Kanchipuram">Kanchipuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-virudhunagar.htm" title="Jobs in Virudhunagar">Virudhunagar</a> <b class="alpha50 bn small">(1)</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 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">(18)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(11)</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">(10)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><span class="fr">(8)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(7)</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">(5)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-legal-services-fid.htm" title="Legal / Law Services / Judiciary Jobs">Legal / Law Services / Judicia...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'WEo1V3ZNUGtsUFhBbzVtREJpVllUUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Job openings for test architect in bangalore | SVS Job Consulting Services";i:2;s:178:"Test Architect Jobs,Test Architect Jobs in Bangalore,Test Architect Vacancy in Bangalore,Test Architect jobs in India,IT Software - QA / Testing / Documentation jobs in Bangalore";i:3;s:284:"Apply for Test Architect Jobs in Bangalore India - Test Architect Vacancy  in IT Software - QA / Testing / Documentation field with 12 to 13 years Work Experience, Key Skills are Test Architect, Technical Specialist, IT Software - QA / Testing / Documentation jobs in Bangalore  India";i:4;s:2687:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Test Architect",
		  "baseSalary": " 16  Lac  To  17  Lac ",
		  "description": "Roles & Responsibilities
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 Automations
review Testing and Deployment Toolsets and Configurations
maintain Error Logging System
maintain Service Catalogue Architecture
assist and Guide Both Coe E2e Test Engineers and Feature Team Test Engineers 
 
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 of Skills
excellent Communication Skills
can Demonstrate Being a Quick Learner",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "12 - 13 Years",
		  "industry": "IT Software - QA / Testing / Documentation",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Test Architect, Technical Specialist"
		  }
		</script>
		";i:5;N;}